表2-1:HTTP:/1.0 和 HTTP/1.1 支持的方法
方法 | 說明 | 支持的HTTP協議版本 |
---|---|---|
GET | 獲取資源 | 1.0、1.1 |
POST | 傳輸實體主體 | 1.0、1.1 |
PUT | 傳輸文件 | 1.0、1.1 |
HEAD | 獲得報文首部 | 1.0、1.1 |
DELETE | 刪除文件 | 1.0、1.1 |
OPTIONS | 詢問支持的方法 | 1.1 |
TRACE | 追蹤路徑 | 1.1 |
CONNECT | 要求用隧道協議連接代理 | 1.1 |
LINK | 建立和資源之間的聯繫 | 1.0 |
UNLINE | 斷開連接關係 | 1.0 |
第四章 返回結果的HTTP狀態碼
表4-1:狀態碼的類別
類別 | 原因短語 | |
---|---|---|
1XX | Informational(信息狀態碼) | 接受的請求正在處理 |
2XX | Success(成功狀態嗎) | 請求正常處理完畢 |
3XX | Redirection(重定向狀態碼) | 需要進行附加操作已完成請求 |
4XX | Client Error(客戶端錯誤狀態碼) | 服務器無法處理請求 |
5XX | Server Error(服務器錯誤狀態碼) | 服務器處理請求錯誤 |
14個具有代表性的狀態碼
1 | 200 OK | 表示客戶端發來的請求在服務器端被正常處理 |
2 | 204 Not Content | 請求處理成功,但沒有資源可以被返回 |
3 | 206 Partial Content | 客戶端進行了範圍請求,服務器成功執行了這部分請求。響應報文中包含由 Center-Range 指定範圍的實體內容 |
3XX | 3XX響應結果表明瀏覽器需要執行某些特殊的處理以正確處理請求 | |
201、302、303 | 當301,302,303響應狀態碼返回時,幾乎所有的瀏覽器都會把POST請求改成GET,並刪除請求報文內的主體,之後請求會自動再次發送 | 301,302標準是禁止將POST方法改成GET方法的,但實際使用時大家都會這麼做 |
301 Moved Permanently 永久性重定向 | 請求資源已被分配了新的URI,以後應使用資源現在所指的URI | |
302 Found 臨時性重定向 | 表示請求的資源已被分配了新的URI,希望用戶(本次)能使用新的URI訪問 | |
303 See Other | 由於請求資源存在着另一個URI,應使用GET方法定向獲取請求的資源 | |
304 Not Modified | 當客戶端發送附帶條件的請求時,服務器端允許請求訪問資源,但未滿足條件的情況 | |
307 Temporary Redirect 臨時重定向 | 和302Found有相同含義 | |
4XX | 4XX 的響應結果表示客戶端是發生錯誤的原因所在 | |
400 Bad Request | 請求報文中存在語法錯誤 | |
401 Unauthorized | 發送的請求需要有通過HTTP認證 | |
403 Forbidden | 請求資源的訪問被服務器拒絕(訪問權限等) | |
404 Not Found | 服務器上沒有請求的資源(也可以在服務器拒絕請求且不想說明理由時使用) | |
5XX | 5XX的響應結果表明服務器本身發生錯誤 | |
500 Internal Server Error | 表明服務器端在執行請求時發生了錯誤,也可能是web應用存在的bug或某些臨時的故障 | |
503 | 服務器暫時處於超負荷或正在進行停機維護,現在無法處理請求 |
狀態碼和狀況的不一致:
&&不少返回的狀態碼響應都是錯誤的,但是用戶可能察覺不到這點。比如web應用程序內部發生錯誤,狀態碼依然返回200OK,這種情況也經常遇到。