我們再來看看 HTTP 的 response 包,他的結構如下:
HTTP/1.1 200 OK // 狀態(tài)行
Server: nginx/1.0.8 // 服務器使用的 WEB 軟件名及版本
Date: Tue, 30 Oct 2012 04:14:25 GMT // 發(fā)送時間
Content-Type: text/html // 服務器發(fā)送信息的類型
Transfer-Encoding: chunked // 表示發(fā)送 HTTP 包是分段發(fā)的
Connection: keep-alive // 保持連接狀態(tài)
Content-Length: 90 // 主體內容長度
// 空行 用來分割消息頭和主體
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"... // 消息體
Response 包中的第一行叫做狀態(tài)行平匈,由 HTTP 協(xié)議版本號, 狀態(tài)碼, 狀態(tài)消息三部分組成音榜。
狀態(tài)碼用來告訴 HTTP 客戶端, HTTP 服務器是否產生了預期的 Response斗埂。HTTP/1.1 協(xié)議中定義了 5 類狀態(tài)碼塞琼, 狀態(tài)碼由三位數字組成,第一個數字定義了響應的類別
1XX 提示信息 - 表示請求已被成功接收愧膀,繼續(xù)處理
2XX 成功 - 表示請求已被成功接收拦键,理解,接受
3XX 重定向 - 要完成請求必須進行更進一步的處理
4XX 客戶端錯誤 - 請求有語法錯誤或請求無法實現
5XX 服務器端錯誤 - 服務器未能實現合法的請求
我們看下面這個圖展示了詳細的返回信息檩淋,左邊可以看到有很多的資源返回碼芬为,200 是常用的,表示正常信息蟀悦,302 表示跳轉媚朦。response header 里面展示了詳細的信息。