天天看點

Network - get 和 post 請求有哪些差別

簡易版

Network - get 和 post 請求有哪些差別

資料/參數在哪裡:

GET 是通過 URL 方式請求,可以直接看到,明文傳輸

POST 參數資料被包含在請求體中。通過 header 傳輸,同樣是明文。但比直接顯示在URL中安全多了

對資料長度的限制:

GET 方法向 URL 添加資料;URL 的長度是受限制的(URL 的最大長度是 2048 個字元)。

http 協定并未規定 get 和post  的長度限制

get 的最大長度限制是因為浏覽器和 web 伺服器限制了 URL 的長度

不同的浏覽器和web伺服器,限制的最大長度不一樣

超出了最大長度,大部分的伺服器直接截斷,有些伺服器會報414錯誤

POST 沒有限制

是否會緩存:

浏覽器會緩存和記錄 GET 請求及參數(這一點不是很安全,如參數中包含敏感資訊可能被其他從浏覽器的緩存和浏覽記錄擷取)

不緩存 POST 的請求的參數

是否會修改伺服器内容(= 幂等性 Idempotent ?):

GET 隻讀伺服器資料不會修改; 幂等簡單了解就是每次請求結果和産生的影響都一樣 

POST 請求可能會導緻新的資源的建立和/或已有資源的修改

繼續閱讀