POST和GET

在客戶機和服務(wù)器之間進行請求-響應(yīng)時,兩種最常被用到的方法是:GET 和 POST,除了這兩種還有PUT和DELETE

GET - 從指定的資源請求數(shù)據(jù)
POST - 向指定的資源提交要被處理的數(shù)據(jù)

POST和GET是HTTP獲取數(shù)據(jù)的兩種方法,HTTP底層是用TCP/IP來實現(xiàn)的,所以POST和GET也是用TCP/IP協(xié)議來獲取數(shù)據(jù)的

  1. GET在瀏覽器退回的時候是無害的,而POST回確認重新提交
  2. GET的參數(shù)是在URL中的,POST的參數(shù)在request body中
  3. GET請求會被自動瀏覽器緩存,而POST不會,除非設(shè)置
  4. GET比POST更不安全,因為GET傳輸?shù)膮?shù)暴露在URL中
  5. GET傳送的數(shù)據(jù)長度有限制,最大不能超過2K。而POST默認為不受限制
  6. GET請求參數(shù)會保留在瀏覽器歷史記錄里,而POST中的參數(shù)不會被保留
  7. GET是發(fā)送一個數(shù)據(jù)包,瀏覽器會把 http header 和 data 一起發(fā)送出去,服務(wù)器響應(yīng)200 并返回數(shù)據(jù)
  8. POST會發(fā)送兩個數(shù)據(jù)包,瀏覽器會先發(fā)送 header 服務(wù)器響應(yīng)100 continue,瀏覽器繼續(xù)發(fā)送 data 服務(wù)器響應(yīng)200 返回數(shù)據(jù)(有些瀏覽器只發(fā)送一個數(shù)據(jù)包,有些框架封裝POST的時候回先發(fā)送header在發(fā)送data,而大部分都是發(fā)送一個數(shù)據(jù)包)

以上都是瀏覽器或者是服務(wù)器添加的一些限制,

POST和GET在本質(zhì)上沒有什么區(qū)別,都是用的TCP協(xié)議發(fā)送或請求

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容