一.請求報文
1.1HTTP請求頭
- 報文頭包含若干個屬性 格式為“屬性名:屬性值”随静,
- 服務(wù)端據(jù)此獲取客戶端的基本信息
- Accept:覽器支持的 MIME 媒體類型, 比如text/html,application/json,image/webp,/ 等
- Accept-Encoding: 瀏覽器發(fā)給服務(wù)器,聲明瀏覽器支持的編碼類型扭倾,gzip, deflate
- Accept-Language: 客戶端接受的語言格式,比如 zh-CN
- Connection: keep-alive , 開啟HTTP持久連接
- Host:服務(wù)器的域名
- Origin:告訴服務(wù)器請求從哪里發(fā)起的,僅包括協(xié)議和域名 CORS跨域請求中可以看到response有對應(yīng)的header,Access-Control-Allow-Origin
- Referer:告訴服務(wù)器請求的原始資源的URI玖详,其用于所有類型的請求沸柔,并且包括:協(xié)議+域名+查詢參數(shù); 很多搶購服務(wù)會用這個做限制整份,必須通過某個入來進(jìn)來才有效
- User-Agent: 服務(wù)器通過這個請求頭判斷用戶的軟件的應(yīng)用類型待错、操作系統(tǒng)、軟件開發(fā)商以及版本號烈评、瀏覽器內(nèi)核信息等火俄; 風(fēng)控系統(tǒng)、反作弊系統(tǒng)讲冠、反爬蟲系統(tǒng)等基本會采集這類信息做參考
- Cookie: 表示服務(wù)端給客戶端傳的http請求狀態(tài),也是多個key=value形式組合瓜客,比如登錄后的令牌等
- Content-Type: HTTP請求提交的內(nèi)容類型,一般只有post提交時才需要設(shè)置竿开,比如文件上傳谱仪,表單提交等
1.2HTTP請求體
一般指請求參數(shù)
1.3HTTP請求行
①請求方法:GET、POST否彩、PUT疯攒、DELETE、PATCH列荔、HEAD敬尺、OPTIONS枚尼、TRACE。最常的兩種GET和POST砂吞,如果是RESTful接口的話一般會用到GET
②請求URL :為請求對應(yīng)的URL地址,它和請求頭的host屬性組成完整的URL
二.響應(yīng)報文
類似請求報文
三.HTTP狀態(tài)碼
- 定義;HTTP 狀態(tài)碼(HTTP Status Code)是用以表示網(wǎng)頁服務(wù)器超文本傳輸協(xié)議響應(yīng)狀態(tài)的 3 位數(shù)字代碼署恍。所有狀態(tài)碼被分為五類,狀態(tài)碼的第一個數(shù)字代表了響應(yīng)的五種狀態(tài)之一呜舒,總的來說分為五種:
分類 | 狀態(tài)碼英文描述 | 分類描述 |
---|---|---|
1XX | Information (信息性狀態(tài)碼) | 接收的請求正在請求 |
2XX | Success (成功狀態(tài)碼) | 請求正常處理完畢 |
3XX | Redirection (重定向狀態(tài)碼) | 需要進(jìn)行附加操作以完成請求 |
4XX | Client Error (客戶端錯誤狀態(tài)碼) | 服務(wù)器無法處理請求 |
5XX | Server Error (服務(wù)器錯誤狀態(tài)碼) | 服務(wù)器處理請求出錯 |
3.1 1XX
狀態(tài)碼 | 狀態(tài)碼英文名稱 | 中文描述 |
---|---|---|
100 | Continue | 繼續(xù)锭汛。客戶端應(yīng)繼續(xù)其請求 |
101 | Switching Protocols | 切換協(xié)議袭蝗。服務(wù)器根據(jù)客戶端的請求切換協(xié)議唤殴。只能切換到更高級的協(xié)議,例如到腥,切換到HTTP的新版本協(xié)議 |
3.2 2XX
狀態(tài)碼 | 狀態(tài)碼英文名稱 | 中文描述 |
---|---|---|
200 | OK | 請求成功朵逝。一般用于GET與POST請求 |
201 | Created | 已創(chuàng)建。成功請求并創(chuàng)建了新的資源 |
202 | Accepted | 已接受乡范。已經(jīng)接受請求配名,但未處理完成 |
203 | Non-Authoritative Information | 非授權(quán)信息。請求成功晋辆。但返回的meta信息不在原始的服務(wù)器渠脉,而是一個副本 |
204 | No Content | 無內(nèi)容。服務(wù)器成功處理瓶佳,但未返回內(nèi)容芋膘。在未更新網(wǎng)頁的情況下,可確保瀏覽器繼續(xù)顯示當(dāng)前文檔 |
205 | Reset Content | 重置內(nèi)容霸饲。服務(wù)器處理成功为朋,用戶終端(例如:瀏覽器)應(yīng)重置文檔視圖『衤觯可通過此返回碼清除瀏覽器的表單域 |
206 | Partial Content | 部分內(nèi)容习寸。服務(wù)器成功處理了部分GET請求 |
3.3 3XX
狀態(tài)碼 | 狀態(tài)碼英文名稱 | 中文描述 |
---|---|---|
300 | Multiple Choices | 多種選擇。請求的資源可包括多個位置傻工,相應(yīng)可返回一個資源特征與地址的列表用于用戶終端(例如:瀏覽器)選擇 |
301 | Moved Permanently | 永久移動霞溪。請求的資源已被永久的移動到新URI,返回信息會包括新的URI中捆,瀏覽器會自動定向到新URI威鹿。今后任何新的請求都應(yīng)使用新的URI代替 |
302 | Found | 臨時移動。與301類似轨香。但資源只是臨時被移動忽你。客戶端應(yīng)繼續(xù)使用原有URI |
303 | See Other | 查看其它地址臂容。與301類似科雳。使用GET和POST請求查看 |
304 | Not Modified | 未修改根蟹。所請求的資源未修改,服務(wù)器返回此狀態(tài)碼時糟秘,不會返回任何資源简逮。客戶端通常會緩存訪問過的資源尿赚,通過提供一個頭信息指出客戶端希望只返回在指定日期之后修改的資源 |
305 | Use Proxy | 使用代理散庶。所請求的資源必須通過代理訪問 |
306 | Unused | 已經(jīng)被廢棄的HTTP狀態(tài)碼 |
307 | Temporary Redirect | 臨時重定向。與302類似凌净。使用GET請求重定向 |
3.4 4XX
狀態(tài)碼 | 狀態(tài)碼英文名稱 | 中文描述 |
---|---|---|
400 | Bad Request | 客戶端請求的語法錯誤悲龟,服務(wù)器無法理解 |
401 | Unauthorized | 請求要求用戶的身份認(rèn)證 |
402 | Payment Required | 保留,將來使用 |
403 | Forbidden | 服務(wù)器理解請求客戶端的請求冰寻,但是拒絕執(zhí)行此請求 |
404 | Not Found | 服務(wù)器無法根據(jù)客戶端的請求找到資源(網(wǎng)頁)须教。通過此代碼,網(wǎng)站設(shè)計人員可設(shè)置"您所請求的資源無法找到"的個性頁面 |
405 | Method Not Allowe | 客戶端請求中的方法被禁止 |
406 | Not Acceptable | 服務(wù)器無法根據(jù)客戶端請求的內(nèi)容特性完成請求 |
407 | Proxy Authentication Required | 請求要求代理的身份認(rèn)證斩芭,與401類似轻腺,但請求者應(yīng)當(dāng)使用代理進(jìn)行授權(quán) |
408 | Request Time-out | 服務(wù)器等待客戶端發(fā)送的請求時間過長,超時 |
409 | Conflict | 服務(wù)器完成客戶端的 PUT 請求時可能返回此代碼划乖,服務(wù)器處理請求時發(fā)生了沖突 |
410 | Gone | 客戶端請求的資源已經(jīng)不存在贬养。410不同于404,如果資源以前有現(xiàn)在被永久刪除了可使用410代碼琴庵,網(wǎng)站設(shè)計人員可通過301代碼指定資源的新位置 |
411 | Length Required | 服務(wù)器無法處理客戶端發(fā)送的不帶Content-Length的請求信息 |
412 | Precondition Failed | 客戶端請求信息的先決條件錯誤 |
413 | Request Entity Too Large | 由于請求的實體過大误算,服務(wù)器無法處理,因此拒絕請求细卧。為防止客戶端的連續(xù)請求尉桩,服務(wù)器可能會關(guān)閉連接筒占。如果只是服務(wù)器暫時無法處理贪庙,則會包含一個Retry-After的響應(yīng)信息 |
414 | Request-URI Too Large | 請求的URI過長(URI通常為網(wǎng)址),服務(wù)器無法處理 |
415 | Unsupported Media Type | 服務(wù)器無法處理請求附帶的媒體格式 |
416 | Requested range not satisfiable | 客戶端請求的范圍無效 |
417 | Expectation Failed | 服務(wù)器無法滿足Expect的請求頭信息 |
3.4 5XX
狀態(tài)碼 | 狀態(tài)碼英文名稱 | 中文描述 |
---|---|---|
500 | Internal Server Error | 服務(wù)器內(nèi)部錯誤翰苫,無法完成請求 |
501 | Not Implemented | 服務(wù)器不支持請求的功能止邮,無法完成請求 |
502 | Bad Gateway | 作為網(wǎng)關(guān)或者代理工作的服務(wù)器嘗試執(zhí)行請求時,從遠(yuǎn)程服務(wù)器接收到了一個無效的響應(yīng) |
503 | Service Unavailable | 由于超載或系統(tǒng)維護(hù)奏窑,服務(wù)器暫時的無法處理客戶端的請求导披。延時的長度可包含在服務(wù)器的Retry-After頭信息中 |
504 | Gateway Time-out | 充當(dāng)網(wǎng)關(guān)或代理的服務(wù)器,未及時從遠(yuǎn)端服務(wù)器獲取請求 |
505 | HTTP Version not supported | 服務(wù)器不支持請求的HTTP協(xié)議的版本埃唯,無法完成處理 |