HTTP:Hypertext Transfer Protocol;html
HTML:Hypertext Markup Language;nginx
URL:Uniform Resource Locator,在Internet的WWW服務程序上用於指定信息位置的表示方法;web
Scheme://Server:Port/path/to/resource;apache
http://www.mageedu.com/images/logo.jpg;後端
一次完整的http請求過程:centos
創建或處理鏈接 --> 接受請求 --> 處理請求 --> 訪問資源 --> 構建響應報文 --> 發送響應報文 --> 記錄日誌;服務器
http服務器程序:tcp
httpd(apache);nginx;lighttpd;ide
http監聽端口:80/tcp,https監聽端口:443/tcp;ui
centos6支持安裝httpd-2.2,centos7支持安裝httpd-2.4;
特別配置:
一、持久鏈接
鏈接創建,每一個資源獲取完成後不會斷開鏈接,而是等待其餘請求,訪問量較大的服務器,持久鏈接功能會使有些請求得不到響應;
折中方法,使用較短的毫秒級持久時間:
KeepAlive On|Off
MaxKeepAliveRequests #
KeepAliveTimeout #
二、站點訪問控制
可基於兩種類型的路徑指明對哪些資源進行訪問控制:
文件系統路徑:
<Directory " ">
</Directory>
URL路徑:
<Location " ">
</Location>
三、日誌設定
錯誤日誌:
ErrorLog logs/error_log
LogLevel warn(記錄warn以上級別的日誌)
訪問日誌:
CustomLog logs/access_log combined
LogFormat ...
四、基於用戶訪問控制
基於用戶認證:
<Directory "/var/www/html/SOME"> //要登陸進入的目錄
Options None
AllowOverride None
Auth Type Basic
AuthName "STRING" //認證提示符
AuthUserFile "/PATH/TO/HTTPD_USER" //帳號密碼存放的目錄
Require user username1 username2...
Require voild-user //容許文件中全部用戶
</Directory>
設置帳號密碼存儲:htpasswd命令
htpasswd -bm /etc/httpd/conf.d/.htuser username userpasswd
基於組認證:
<Directory "/var/www/html/admin">
Options None
AllowOverride None
AuthType Basic
AuthName "administrator private"
AuthUserFile "/etc/httpd/conf.d/.htpasswd"
AuthGroupFile "/etc/httpd/conf.d/.htgroup"
Require group webadmin
</Directory>
組文件中:每行定義一個組
webadmin:user1 user2 ...
五、虛擬主機
基於IP:
爲每一個虛擬主機準備至少一個ip地址;
基於port:
爲每一個虛擬主機準備至少一個專用port,實踐中不多使用;
基於hostname:
注意:通常虛擬主機莫與中心主機混用,因此要是用虛擬主機,先禁用中心主機,註釋DocumentRoot;
每一個虛擬主機都專用配置:
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /www/docs/dummy-host.example.com
ServerName dummy-host.example.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
status:狀態碼,標記請求過程當中發生的狀況;
100-101:信息提示;
200-206:成功;
300-305:重定向;
400-415:客戶端錯誤;
500-505:服務器端錯誤;
200:成功;OK
301:請求的URL指向的資源已經被刪除,但響應報文中經過首部Location指明瞭資源如今所處的新位置,Moved Permanently;
302:與301類似,但在響應報文中指明臨時新位置;Found
304:客戶端發出條件式請求,但服務器上的資源不曾發生改變;Not Modified
401:須要輸入帳號密碼認證;Unauthorized
403:請求被禁止;Forbidden
404:服務器沒法找到客戶端請求的資源;Not Found
500:服務器內部錯誤;Internal Server Error
502:代理服務器從後端服務器收到一條僞響應;Bad Getway