1.HTPP報文
HTTP協議以報文的格式傳遞數據,報文有三部分組成:起始行(對報文進行描述),首部塊(包含屬性),主體(包含數據,可選)
全部的HTTP報文均可以分爲兩類:請求報文(Requset Message)和響應報文(Response Message)html
1.1起始行:
- 請求行
請求方法,URL,客戶端的HTTP版本
- 響應行
響應報文使用的HTTP版本,數字狀態碼,以及描述狀態的緣由短語
2.首部:
2.1 通用首部:
- Connection 容許客戶端和服務器指定與鏈接有關的選項
- Date 報文建立時間
- MIME-Version Trailer TransferCoding Update Via
- Keep-Alive:(只有提供Connection:Keep-Alive時會有,設置max和timeout)
2.2 通用緩存首部
- Cache-Control 用於隨報文傳送的緩存只是
- Pragma 隨報文傳遞指示的方式,但並不專用於緩存,優先使用Cache-Control
2.3 請求首部
- Client-IP :運行客戶端的機器的IP地址
- From:提供了客戶端用戶的EMail地址
- Host:接受請求的服務器的主機地址以及端口號
- Refer:
- User-Agent:發起請求的應用名稱
- UA-Color UA-CPU UA-Disp UA-OS UA-Pixels(有副總用,僅限於特殊的客戶端需求)
Accept首部
爲客戶端提供一種將其喜愛和能力告知服務器的方式。vue
- Accept 媒體類型
- Accept-Charset字符集
- Accept-Encoding編碼方式+
- Accept-Language語言
條件請求首部
經過條件請求首部,客戶端能夠爲請求加上限制,要求服務器在對請求進行響應以前,確保某個條件爲真。git
- Expect:容許客戶端列出某請求所要求的服務器行爲
- If-Match:若是實體標記與文檔當前的實體標記相匹配,就獲取這份文檔。
- If-Modfified-Since:除非在某個指定的日期以後資源被修改過,不然就限制這個請求。
- If-None-Match:若是實體標記不匹配,獲取文檔。
- If-Range:容許對文檔的某個範圍進行條件請求。
- If-Unmodifier-Since:除非在某個指定日期後沒有被修改過,不然就閒着這個請求
- Range:若是服務器支持範圍請求,就請求資源的制定範圍。
安全請求首部:github
- Authorization:包含了客戶端提供給服務器,以便進行自身認證的數據
- cookie:一個令牌
代理請求首部:瀏覽器
- Max-Forward:
- Proxy-Authorization
- Proxy-Connection
2.4 響應首部
信息性首部緩存
- Age
- Public
- Retry-After
- Server
- Title
- Warning
協商首部安全
安全響應首部服務器
實體首部markdown
2.5 內容首部
- Content - (Base + Encoding + Language + Length + Location+ MD5 + Range+ Type)
2.6實體緩存首部
- ETag
- Expires
- Last-Modified
GET方法負責從服務器獲取一個文檔
POST方法向服務器發送須要處理的數據cookie
對HTTP304的理解
當在瀏覽器裏輸入google.com並按回車的時候發什麼什麼
HTTP 狀態消息