一:HTTP協議
HTTP協議:超文本傳輸協議. 主要用於傳輸文本信息.
二:HTTP協議的版本
http0.9 :只有基本的文本 GET 功能。
http1.0 : 引入MIME 完善的請求/響應模型,並將協議補充完整。
http1.1 :在 1.0 基礎上進行更新,增加了如 長久連接 keep-alive 與 chunked 等功能。
三:HTTP協議請求的方法有哪些
GET: 獲取數據
HEAD: 響應首部
POST: 基於html表單向服務器提交數據. 服務器通常需要存儲數據.
PUT : 向服務器發送資源.通常是文件.不是數據.
DELETE: 刪除資源.
OPTION: 探測服務器對請求的URL所支持使用的請求方法.
TRACE: 跟一次請求中間所經過的代理.
四:HTTP響應的狀態碼
1** :信息性狀態碼
2** :成功狀態碼
3** :重定向狀態碼.
301:永久重定向, 302:臨時重定向, 會在響應報文中使用location
304:沒有做任何修改
4** :客戶端錯誤 404:請求錯誤. 403:沒有權限. 405:使用的方法不被允許.
5** :服務器端錯誤.500 :服務器內部錯誤. 502:錯誤網關. 503:服務不可用.
五:HTTP協議首部
1)request: 請求協議首部
client-IP HOST: 請求主機 referer:指明瞭請求當前資源的原始資源的URL user-agent: 用戶代理 accept:能夠接受的字符集. 服務端能夠發送的媒體類型. accept-charset: accept-encoding: 壓縮方式 accept-language: 請求的語言 cookie:跟安全相關請求.
2)response: 響應協議首部
age:資源可以緩存的時長 server:向客戶說明自己的程序名稱和版本. 協商類 vary:首部列表 服務器會挑選一個最適宜的版本發送給客戶端. 安全相關 WWW-authentication: set-cookie
3)通用首部
connecttion : 定義C/S之間關於請求,響應的有關選項. cache-control: 緩存控制.
4)實體首部
location: 資源的新位置. allow:允許對此資源使用的請求方法. 內容相關 content-encoding.壓縮 content-language: content-length content-location content-type 緩存相關
六:HTTP協議的一些特性
http是無狀態,任何資源都要進行三次握手四次斷開, 不能對用戶進行認證.爲了避免每次訪問一個頁面都要登錄,出現了cookie技術 記錄用戶賬號和密碼.但這種方法不安全.set-cookie. 爲了減少每次連接都要進行三次握手,四次斷開出現了keep-alive技術
七:一次HTTP事務過程 (站在服務器角度)
1)建立連接 2)接受請求 3)處理請求 4)訪問資源 5)構建響應 6)發送響應 7)記錄日誌 (一次I/O 操作,用異步寫入方式,先寫入到內存中,隔一段時間在寫入到磁盤中)