程序猿必須要瞭解的HTTP協議,總結了一份關於HTTP響應的結構及詳細解釋

        HTTP響應(Response):是服務器發給客戶端,瀏覽器根據響應內容進行解析並在界面展現出來。

        HTTP響應報文:響應行、響應頭、響應體構成。其結構如下圖所示:


        一、Response Line:響應行

        一般由協議版本、狀態碼及其描述組成,比如 HTTP/1.1 200 OK

        常見的狀態碼:

                100~199:表示成功接收請求,要求客戶繼續提交下一次請求才能完成整個處理過程;

                200~299:表示成功接收請求並已經完成整個處理過程。常用200(OK)、201(Created)

                300~399:表示爲完成請求,客戶需要進一步細化請求,常用301(Moved Permanently);

           400~499:客戶端的請求有誤,常用400(Bad Request)、401(Unauthorized)、404(Not Found)、403(Forbidden);

                500~599:服務器出現錯誤,常用500(Internal Server Error)

        二、Response Header: 響應頭

        響應頭:是用於描述服務器的基本信息,以及數據的描述,服務器通過這些數據的描述信息可以知道客戶端如何處理等一會兒它回送的數據。其組成如下:

Header解釋示例
Accept-Ranges表明服務器是否支持指定範圍請求及哪種類型的分段請求Accept-Ranges: bytes
Age從原始服務器到代理緩存形成的估算時間(以秒計,非負)Age: 12
Allow對某網絡資源的有效的請求行爲,不允許則返回405Allow: GET, HEAD
Cache-Control告訴所有的緩存機制是否可以緩存及哪種類型Cache-Control: no-cache
Content-Encodingweb服務器支持的返回內容壓縮編碼類型。Content-Encoding: gzip
Content-Language響應體的語言Content-Language: en,zh
Content-Length響應體的長度Content-Length: 348
Content-Location請求資源可替代的備用的另一地址Content-Location: /index.htm
Content-MD5返回資源的MD5校驗值Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==
Content-Range在整個返回體中本部分的字節位置Content-Range: bytes 21010-47021/47022
Content-Type返回內容的MIME類型Content-Type: text/html; charset=utf-8
Date原始服務器消息發出的時間Date: Tue, 15 Nov 2010 08:12:31 GMT
ETag請求變量的實體標籤的當前值ETag: “737060cd8c284d8af7ad3082f209582d”
Expires響應過期的日期和時間Expires: Thu, 01 Dec 2010 16:00:00 GMT
Last-Modified請求資源的最後修改時間Last-Modified: Tue, 15 Nov 2010 12:45:26 GMT
Location用來重定向接收方到非請求URL的位置來完成請求或標識新的資源Location: http://www.zcmhi.com/archives/94.html
Pragma包括實現特定的指令,它可應用到響應鏈上的任何接收方Pragma: no-cache
Proxy-Authenticate它指出認證方案和可應用到代理的該URL上的參數Proxy-Authenticate: Basic
refresh應用於重定向或一個新的資源被創造,在5秒之後重定向(由網景提出,被大部分瀏覽器支持)
 

 

Refresh: 5; url=
http://www.zcmhi.com/archives/94.html
Retry-After如果實體暫時不可取,通知客戶端在指定時間之後再次嘗試Retry-After: 120
Serverweb服務器軟件名稱Server: Apache/1.3.27 (Unix) (Red-Hat/Linux)
Set-Cookie設置Http CookieSet-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1
Trailer指出頭域在分塊傳輸編碼的尾部存在Trailer: Max-Forwards
Transfer-Encoding文件傳輸編碼Transfer-Encoding:chunked
Vary告訴下游代理是使用緩存響應還是從原始服務器請求Vary: *
Via告知代理客戶端響應是通過哪裏發送的Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1)
Warning警告實體可能存在的問題Warning: 199 Miscellaneous warning
WWW-Authenticate表明客戶端請求實體應該使用的授權方案WWW-Authenticate: Basic

        三、Response Body:響應體

        響應體:就是響應的消息體。如果是純數據就是返回純數據、請求的是HTML頁面返回就是HTML代碼、JS就是返回JS

   更多內容盡在https://blog.csdn.net/sinat_41898105,歡迎各界大佬前來補充建議!!!

        


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章