Web服務(wù)器返回給瀏覽器的響應(yīng)信息由4個部分組成,分別是狀態(tài)行、響應(yīng)頭、空行以及響應(yīng)正文。HTTP響應(yīng)的格式如圖1所示。
下面是通過瀏覽器訪問百度百科中詞條python時,Web服務(wù)器返回的響應(yīng)信息,具體內(nèi)容如下。
HTTP/1.1?200?OKConnection:?keep-aliveContent-Encoding:?deflateContent-Security-Policy-Report-Only:?default-src?https:.Content-Type:?text/html;?charset=UTF-8Date:?Thu,?15?Jul?2021?06:25:42?GMTServer:?ApacheVary:?Accept-EncodingTransfer-Encoding:?chunked.
上述響應(yīng)信息中,第1行代碼是狀態(tài)行,第2~9行代碼是響應(yīng)頭,第10行是空行,第11~14行代碼是響應(yīng)正文。需要注意的是,即使響應(yīng)信息中沒有響應(yīng)正文,也必須在末尾加上空行。
下面分別對狀態(tài)行、響應(yīng)頭和響應(yīng)正文進(jìn)行介紹。
1.狀態(tài)行
上述響應(yīng)信息的狀態(tài)行的具體內(nèi)容如下。
HTTP/1.1?200?OK
在狀態(tài)行中,HTTP/1.1表示HTTP的版本號,200表示響應(yīng)狀態(tài)碼,OK表示響應(yīng)狀態(tài)碼的簡短描述。
響應(yīng)狀態(tài)碼代表服務(wù)器的響應(yīng)狀態(tài),它的作用是告知瀏覽器請求Web資源的結(jié)果,如請求成功、請求異常、服務(wù)器處理錯誤等。響應(yīng)狀態(tài)碼及說明如下表所示。
響應(yīng)狀態(tài)碼及說明
2.響應(yīng)頭
上述響應(yīng)信息中,狀態(tài)行下面的部分便是若干個響應(yīng)頭信息。響應(yīng)頭的格式與請求頭的格式相同。關(guān)于響應(yīng)頭中的常用字段及常用值的介紹如下。
( 1) Cache-Control: must-revalidate、 no-cache, private。
Cache-Control表示服務(wù)器告知瀏覽器當(dāng)前的HTTP 響應(yīng)是否可以緩存,取值為must-revalidate表示在一個緩存過期之后,不能直接使用這個過期的緩存,必須檢驗之后才能使用;取值為no-cache表示瀏覽器可以緩存資源,每次使用緩存資源前都必須重新驗證其有效性;取值為private表示響應(yīng)只能被單個用戶緩存,不能作為共享緩存。
(2) Connection: keep-alive、 closed。
Connection表示瀏覽器是否使用持久HTTP連接,取值為keep-alive表示使用持久連接;取值為closed 表示不使用持久連接。
(3) Content-Encoding: gzip、 compress, identity。
Content-Encoding表示服務(wù)器對特定媒體類型的數(shù)據(jù)進(jìn)行壓縮,取值為gzip表示采用Lempel-Ziv 壓縮算法;取值為compress表示采用Lempel-Ziv-Welch 算法;取值為identity 表示數(shù)據(jù)未經(jīng)壓縮或修改。
(4) Content-Type: text/html;charset=UTF-8。
Content-Type表示服務(wù)器告知瀏覽器實際返回的內(nèi)容的類型,取值為text/html;charset=UTF-8表示服務(wù)器返回資源文件的類型為text/html,字符編碼格式為UTF-8。
3.響應(yīng)正文
響應(yīng)正文是服務(wù)器返回的具體數(shù)據(jù),常見的數(shù)據(jù)是HTML源代碼。瀏覽器在接收到HTTP響應(yīng)后,會根據(jù)響應(yīng)正文的不同類型進(jìn)行不同的處理。如果響應(yīng)正文是DOC文檔,那么瀏覽器會借助安裝在本機(jī)的Word程序打開這份文檔;如果響應(yīng)正文是RAR壓縮文件,那么瀏覽器會彈出一個下載窗口讓用戶下載解壓軟件;如果響應(yīng)正文是HTML文檔,那么瀏覽器會在自身的窗口中展示該文檔。
Copyright ? 2013-2021 河南云和數(shù)據(jù)信息技術(shù)有限公司 豫ICP備14003305號 ISP經(jīng)營許可證:豫B-20160281