1. 程式人生 > 實用技巧 >38.http的幾種請求方法和區別

38.http的幾種請求方法和區別

8 種請求方法

  1. OPTIONS:返回伺服器針對特定資源所支援的 HTTP 請求方法,也可以利用其向 web 伺服器傳送*的請求來測試伺服器的功能性。
  2. HEAD:向伺服器索與 GET 請求相一致的響應,只不過響應體將不會被返回。這一方法可以在不必傳輸整個響應內容的情況下,就可以獲取包含在響應小訊息頭中的元資訊。
  3. GET:向特定的資源發出請求,它的本質就是傳送一個請求來取得伺服器上的某一資源。
  4. POST:向指定資源提交資料進行處理請求(例如提交表單或者上傳檔案等)。資料被包含在請求體中。
  5. PUT:向指定資源位置上傳最新內容。
  6. DELETE:請求伺服器刪除 Request-URL 所表示的資源。
  7. TRACE:回顯伺服器收到的請求,主要用於測試或診斷。
  8. CONNECT:協議中預留給能夠將連線改為管道方式的代理伺服器。

三、GET 和 POST 區別?

首先, GET 和 POST 方法都是基於 TCP/IP 協議,也就是說,兩者的資料傳輸都是建立在 TCP 的連線,所以,如果從兩者的本質來講並沒有多大的區別,你非要給 GET 方法加上 request body,給 POST 方法加上 URL 引數都是行得通的,HTTP 協議對於 GET 和 POST 其實並沒有長度限制。

因而,兩者的區別更多地體現在使用規範上,從使用規範上來說:

  • GET 瀏覽器回退是無害的,而 POST 會再次提交請求。
  • GET 產生的 URL 地址可以被書籤收藏,並且被瀏覽器快取,而POST不能書籤收藏也不能快取。
  • GET 只能進行 URL 編碼,而POST 支援多種編碼方式。
  • GET 引數通過 URL 傳遞,並且長度有限制,而 POST 放在 request body 並且長度沒有限制。並且,正因為這個原因, GET 比 POST 更不安全,因為引數暴露在 URL 中。