天天看點

HTTP原理(六)——響應(Response)

Response,即響應,由服務端傳回給用戶端。Response 可以劃分為三部分,ResponseStatus Code、Response Headers、Response Body。

Response Status Code

響應狀态碼,此狀态碼表示了伺服器的響應狀态,如 200 則代表伺服器正常響應,404 則代表頁面未找到,500 則代表伺服器内部發生錯誤。我們可以根據狀态碼來判斷伺服器響應狀态,如判斷狀态碼為 200,則證明成功傳回資料,再進行進一步的處理,否則直接忽略。

下面列出了常見的錯誤代碼及錯誤原因:

狀态碼說明詳情

100 繼續請求者應當繼續提出請求。伺服器已收到請求的一部分,正在等待其餘部分。

101 切換協定請求者已要求伺服器切換協定,伺服器已确認并準備切換。

200 成功伺服器已成功處理了請求。

201 已建立請求成功并且伺服器建立了新的資源。

202 已接受伺服器已接受請求,但尚未處理。

203 非授權資訊伺服器已成功處理了請求,但傳回的資訊可能來自另一來源。

204 無内容伺服器成功處理了請求,但沒有傳回任何内容。

205 重置内容伺服器成功處理了請求,内容被重置。

206 部分内容伺服器成功處理了部分請求。

300 多種選擇針對請求,伺服器可執行多種操作。

301 永久移動請求的網頁已永久移動到新位置,即永久重定向。

302 臨時移動請求的網頁暫時跳轉到其他頁面,即暫時重定向。

303 檢視其他位置如果原來的請求是 POST,重定向目标文檔應該通過 GET 提取。

304 未修改此次請求傳回的網頁未修改,繼續使用上次的資源。

305 使用代理請求者應該使用代理通路該網頁。

307 臨時重定向請求的資源臨時從其他位置響應。

400 錯誤請求伺服器無法解析該請求。

401 未授權請求沒有進行身份驗證或驗證未通過。

403 禁止通路伺服器拒絕此請求。

404 未找到伺服器找不到請求的網頁。

405 方法禁用伺服器禁用了請求中指定的方法。

406 不接受無法使用請求的内容響應請求的網頁。

407 需要代理授權請求者需要使用代理授權。

408 請求逾時伺服器請求逾時。

409 沖突伺服器在完成請求時發生沖突。

410 已删除請求的資源已永久删除。

411 需要有效長度伺服器不接受不含有效内容長度标頭字段的請求。

412 未滿足前提條件伺服器未滿足請求者在請求中設定的其中一個前提條件。

413 請求實體過大請求實體過大,超出伺服器的處理能力。

414 請求 URI 過長請求網址過長,伺服器無法處理。

415 不支援類型請求的格式不受請求頁面的支援。

416 請求範圍不符頁面無法提供請求的範圍。

417 未滿足期望值伺服器未滿足期望請求标頭字段的要求。

500 伺服器内部錯誤伺服器遇到錯誤,無法完成請求。

501 未實作伺服器不具備完成請求的功能。

502 錯誤網關伺服器作為網關或代理,從上遊伺服器收到無效響應。

503 服務不可用伺服器目前無法使用。

504 網關逾時伺服器作為網關或代理,但是沒有及時從上遊伺服器收到請求。

505 HTTP 版本不支援伺服器不支援請求中所用的 HTTP 協定版本。

Response Headers

響應頭,其中包含了伺服器對請求的應答資訊,如 Content-Type、Server、Set-Cookie 等,下面将一些常用的頭資訊說明如下:

Date,辨別 Response 産生的時間。

Last-Modified,指定資源的最後修改時間。

Content-Encoding,指定 Response 内容的編碼。

Server,包含了伺服器的資訊,名稱,版本号等。

Content-Type,文檔類型,指定了傳回的資料類型是什麼,如text/html 則代表傳回HTML 文檔,application/x-javascript 則代表傳回 JavaScript 檔案,image/jpeg 則代表傳回了圖檔。

Set-Cookie,設定Cookie,Response Headers 中的 Set-Cookie即告訴浏覽器需要将此内容放在 Cookies 中,下次請求攜帶 Cookies 請求。

Expires,指定 Response 的過期時間,使用它可以控制代理伺服器或浏覽器将内容更新到緩存中,如果再次通路時,直接從緩存中加載,降低伺服器負載,縮短加載時間。

Resposne Body

繼續閱讀