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>
<headers>
<entity-body>
我們用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