HTTP協議----請求方法和狀態碼
現在廣泛使用的是HTTP/1.1版本,發布於1997年。
理解HTTP協議,首先從請求開始,比如:
POST /form/entry HTTP/1.1
格式為: 請求方法 URI 協議版本
請求方法:
GET:獲得URI指定的資源,主要目的是獲取
POST:將主體傳輸到URI,主要目的是傳輸,而不是獲取
PUT:傳輸文件,在請求主體中包含文件內容,然後保存到URI指定的位置。
HEAD:只獲取GET結果的頭部,除去主體。
DELETE:刪除文件,是PUT的逆操作
OPTIONS:查詢針對請求URI指定資源支持的方法。用法如:
OPTIONS * HTTP/1.1
HOST:xxx
註意:由於PUT和DELETE方法涉及服務器文件
除非配合使用了Web的驗證機制。
常用的狀態碼:
1XX:表示消息
2XX:成功
200 OK 請求成功,且返回了內容
204 No Content:請求成功處理,但不返回內容
206:Partial Content:服務器按照客戶端的要求發返回了某個範圍的內容。
3XX:重定向
301: Moved Permanently:請求的資源已被永久分配了新的URI,本次用新URI訪問
302: Found:請求的資源已被暫時分配了新的URI,本次用新URI訪問
可以看出,無論是301還是302,請求的資源都有兩個URI
303: See Other:與302類似,請求資源有新的URI,用GET去獲取
304: Not Modified:資源已找到,但未滿足請求報文中包含的條件(與重定向無關)
4XX:客戶端錯誤
400: Bad Request:請求報文存在語法錯誤
401: Unauthorized:發送的請求中沒有包含認證信息,或者認證失敗
403: Forbidden:訪問被拒絕(如權限等問題)
404: Not Found:服務器上沒有URI指定的資源
5XX:服務器錯誤
500: Internal Server Error:服務器端在執行請求時發生了錯誤
503: Service Unavailable:服務器無法處理請求(服務器正超負荷運轉或維護等)
HTTP協議----請求方法和狀態碼