下面用例子的形式來記錄下常用的一些Http頭部信息
Request Header:
- GET /sample.Jsp HTTP/1.1 //請求行
-
Host: www.uuid.online/ //請求的目標域名和端口號
- Origin: http://localhost:8081/ //請求的來源域名和端口號 (跨域請求時,瀏覽器會自動帶上這個頭信息)
-
Referer: https:/localhost:8081/link?query=xxxxx //請求資源的完整URI
-
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36 //瀏覽器信息
-
Cookie: BAIDUID=FA89F036:FG=1; BD_HOME=1; sugstore=0 //當前域名下的Cookie
-
Accept: text/html,image/apng //代表客戶端希望接受的數據類型是html或者是png圖片類型
-
Accept-Encoding: gzip, deflate //代表客戶端能支持gzip和deflate格式的壓縮
-
Accept-Language: zh-CN,zh;q=0.9 //代表客戶端可以支持語言zh-CN或者zh(值得一提的是q(0~1)是優先級權重的意思,不寫默認為1,這里zh-CN是1,zh是0.9)
-
Connection: keep-alive //告訴服務器,客戶端需要的tcp連接是一個長連接
Response Header:
- HTTP/1.1 200 OK // 響應狀態行
- Date: Mon, 30 Jul 2018 02:50:55 GMT //服務端發送資源時的服務器時間
- Expires: Wed, 31 Dec 1969 23:59:59 GMT //比較過時的一種驗證緩存的方式,與瀏覽器(客戶端)的時間比較,超過這個時間就不用緩存(不和服務器進行驗證),適合版本比較穩定的網頁
- Cache-Control: no-cache // 現在最多使用的控制緩存的方式,會和服務器進行緩存驗證,具體見博文”Cache-Control“
-
etag: "fb8ba2f80b1d324bb997cbe188f28187-ssl-df" // 一般是Nginx靜態服務器發來的靜態文件簽名,瀏覽在沒有“Disabled cache”情況下,接收到etag后,同一個url第二次請求就會自動帶上“If-None-Match”
- Last-Modified: Fri, 27 Jul 2018 11:04:55 GMT //是服務器發來的當前資源最后一次修改的時間,下次請求時,如果服務器上當前資源的修改時間大於這個時間,就返回新的資源內容
- Content-Type: text/html; charset=utf-8 //如果返回是流式的數據,我們就必須告訴瀏覽器這個頭,不然瀏覽器會下載這個頁面,同時告訴瀏覽器是utf8編碼,否則可能出現亂碼
- Content-Encoding: gzip //告訴客戶端,應該采用gzip對資源進行解碼
- Connection: keep-alive //告訴客戶端服務器的tcp連接也是一個長連接