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