Web服務通常可以分為靜态Web服務和動态Web服務兩種,在靜态Web服務中,伺服器隻是負責把存儲的文檔發送給用戶端浏覽器,在此過程中傳輸的網頁 隻有在專業的編輯人員對它們修改之後,頁面才會發生變化。而動态Web服務能夠實作浏覽器和伺服器之間的資料互動,Web服務通過CGI、ASP、PHP 等動态網站技術,用戶端可以向伺服器請求可執行的程式,伺服器會執行該程式,或者把請求傳送給應用程式伺服器執行,之後傳回結果給用戶端。
HTTP超文本傳輸協定 (HTTP-Hypertext transfer protocol) 是一種詳細規定了浏覽器和網際網路伺服器之間互相通信的規則,通過網際網路傳送網際網路文檔的資料傳送協定。
HTTP 請求方法:
GET:請求一個資源。
PUT:向指定資源位置上傳内容。
HEAD:僅請求響應首部。
DELETE:請求***資源。
POST: 向指定資源送出資料進行處理請求(送出表單)。
OPTIONS:傳回請求的資源所支援的方法的方法。
HTTP響應碼:
1xx:資訊狀态碼。
2xx:成功狀态碼。
3xx:重定向狀态碼:
301:永久重定向,請求的資源已被永久的移動到新URI,傳回資訊會包括新的URI,浏覽器會自動定向到新URI。今後任何新的請求都應使用新的URI代替。
302:臨時重定向,資源隻是臨時被移動。用戶端應繼續使用原有URI。
304:Not Modified,所請求的資源未修改。
4xx:用戶端錯誤:
404:Not Found
5xx:伺服器端錯誤
500:Internal Server Error 伺服器内部錯誤,無法完成請求
502:Bad Gateway 充當網關或代理的伺服器,從遠端伺服器接收到了一個無效的請求。
HTTP封包請求的首部:
request:
<method> <request-URL> <version>
<headers>
<entity-body>
response:
<version> <status> <reason-phrase>
我們用Telnet對純文字的HTTP發出一個請求:
Apache 工作模型:
MPM(Multi -Processing Modules,多道處理子產品。
prefork:一個程序響應一個請求。
worker:一個程序生成多個線程,一個線程響應一個請求。
event:事件驅動模式
下面來看看如何用Apache程式配置一個Web伺服器:
httpd 指令的基本使用:
-t 測試文法錯誤
-l 列出已編譯的子產品
-t -D DUMP_MODULES 顯示全部已裝載的子產品
配置所選用的MPM的屬性
編輯/etc/sysconfig/httpd配置檔案,定義如下行:
HTTPD=/usr/sbin/httpd.worker
配置伺服器支援KeepAlive:
配置加載子產品:
執行個體1、建立虛拟主機192.168.1.200:80為tuchaohost1,192.168.1.210:8866為tuchaohost2,定義日志檔案,允許執行CGI腳本。
虛拟主機和主伺服器不能同時使用:關閉主伺服器,注釋主伺服器的DocumentRoot。
添加監聽的端口
配置虛拟主機
通路下192.168.1.200
通路下192.168.1.210:8866
好,這兩個都配置成功了,接下來我們配置一個基于主機名的虛拟主機,并且設定權限通路
使用htpasswd指令建立使用者檔案。
# htpasswd -c -s /etc/httpd/conf/.htpass tuchao
然後配置httpd.conf主配置檔案:
重新開機服務
# /etc/init.d/httpd restart
用另一台主機通路試試:
我們配置了身份驗證的,要輸入使用者名密碼。
輸入好後,點确定。 就能看到網頁了,這就是基于主機名的虛拟主機。
下面來看看如何使用SSL來實作HTTPS:
先安裝mod_ssl
# yum install mod_ssl -y
自建CA:
# cd /etc/pki/CA/
# openssl genrsa -out private/cakey.pem 2048
# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 365
為httpd生成私鑰,建立證書簽署請求,然後由CA簽署。
# cd /etc/httpd/conf/ssl
# openssl genrsa -out ./http.key 1024
# openssl req -new -key http.key -out httpd.csr
# openssl ca -in httpd.csr -out httpd.crt -days 365
配置/etc/httpd/conf.d/ssl.conf
配置證書的檔案和私鑰路徑:
配置完成後重新開機服務,來用openssl測試下。
# openssl s_client -connect www.study.com:443 -CAfile /etc/pki/CA/cacert.pem
GET / HTTP/1.1
Host:www.study.com
我們可以把CA的證書複制到windows用戶端,把尾椎改為.crt輕按兩下安裝,實作通路加密。
好,基本配置就到這裡,休息會。
有問題歡迎與我交流:1183710107
本文轉自qw87112 51CTO部落格,原文連結:http://blog.51cto.com/tchuairen/1421292