HTTP請求方法

來源:酷知科普網 1.18W

超文字傳輸協議(HyperText Transfer Protocol -- HTTP)是一個設計來使客戶端和伺服器順利進行通訊的協議。
HTTP在客戶端和伺服器之間以
request response(請求-回覆協議)進行工作

操作方法

(01)http的請求方法可以分成以下幾種:: 請求指定的頁面資訊,並返回實體主體(在檢索資料(包括呼叫函式)時使用。 確保成功檢索的狀態程式碼為 200 ): 請求伺服器接受所指定的文件作為對所標識的URI的新的從屬實體(在建立實體或呼叫操作時使用)PATCH: 實體中包含一個表,表中說明與該URI所表示的原內容的區別(在更新實體或執行 upsert 操作時使用)DELETE: 請求伺服器刪除指定的頁面(在刪除實體或實體的各個屬性時使用)PUT: 從客戶端向伺服器傳送的資料取代指定的文件的內容(在某些情況下用於更新實體的各個屬性;更新大多數實體則不建議使用)以下方法不常用,僅供瞭解:OPTIONS: 允許客戶端檢視伺服器的效能。        TRACE: 請求伺服器在響應中的實體主體部分返回所得到的內容。HEAD: 只請求頁面的首部        MOVE: 請求伺服器將指定的頁面移至另一個網路地址。        COPY: 請求伺服器將指定的頁面拷貝至另一個網路地址。        LINK: 請求伺服器建立連結關係。        UNLINK: 斷開連結關係。        WRAPPED: 允許客戶端傳送經過封裝的請求。        Extension-mothed:在不改動協議的前提下,可增加另外的方法。

(02)下面主要介紹最常用的兩種方法GET與POST:GET    - 從指定的伺服器中獲取資料POST  - 提交資料給指定的伺服器處理

(03)GET:此種請求能夠被快取(即使用者點選重新整理後對頁面沒有影響)請求會儲存在瀏覽器的瀏覽記錄中這種方式請求的URL能夠儲存為瀏覽器書籤請求有長度限制主要用以獲取資料,只允許ASCII碼型別資料

(04)POST:請求不能被快取下來(使用者重新整理後需要重新提交)請求不會儲存在瀏覽器瀏覽記錄中請求的URL無法儲存為瀏覽器書籤請求沒有長度限制,允許二進位制資料

(05)python程式碼舉例:from flask import Flaskfrom flask import requestapp=Flask(__name__e("/",methods=['GET'])         #'/'是路由,method預設為e("/index",methods=['POST'])def home(): return '<h1>hello&nbspworld</h1>' @e("/login",methods=['GET'])def loginform(): return """ <form action='/login' method='post'> <p><input name='username'></p> <p><input name='pwd' type='password'></p> <p><button type='submit'>sign in</p> </form> """

HTTP請求方法

附錄

(01)請求返回狀態碼:200OK當您的操作將在響應正文中返回資料時,出現此結果。204No Content當您的操作成功,但不在響應正文中返回資料時,出現此結果。304Not Modified(重定向)當測試實體自上次檢索以來是否被修改時,出現此結果。403Forbidden客戶端錯誤401Unauthorized客戶端錯誤413Payload Too Large(客戶端錯誤)當請求長度過長時,出現此結果。400BadRequest(客戶端錯誤)當引數無效時,出現此結果。404Not Found(客戶端錯誤)當資源不存在時,出現此結果。405Method Not Allowed(客戶端錯誤)由於方法和資源組合不正確而出現此錯誤。 例如,您不能對一個實體集合使用 DELETE 或 PATCH。412Precondition Failed客戶端錯誤501Not Implemented(伺服器錯誤)當未實施某個請求的操作時,出現此結果。503Service Unavailable(伺服器錯誤)當 Web API 服務不可用時,出現此結果。

熱門標籤