GET和POST本質上就是TCP鏈接


GET和POST請求區別,這個是被問爛的題了

一、常規答案:

  1. GET 在瀏覽器回退時是無害的,而 POST 會再次提交請求。
  2. GET 產生的 URL 地址可以被 Bookmark,而 POST 不可以。
  3. GET 請求會被瀏覽器主動 cache,而 POST 不會,除非手動設置。
  4. GET 請求只能進行 url 編碼,而 POST 支持多種編碼方式。
  5. GET 請求參數會被完整保留在瀏覽器歷史記錄里,而 POST 中的參數不會 被保留。
  6. GET 請求在 URL 中傳送的參數是有長度限制的,而 POST 么有。
  7. 對參數的數據類型,GET 只接受 ASCII 字符,而 POST 沒有限制。
  8. GET 比 POST 更不安全,因為參數直接暴露在 URL 上,所以不能用來傳遞敏感信息。
  9. GET 參數通過 URL 傳遞,POST 放在 Request body 中。

二、分析一下:

get 請求參數在 url 地址上,直接暴露,post 請求的參數放 body 部分,按 F12也直接暴露了,所以沒啥安全性可言
GET 參數通過 URL 傳遞,POST 放在 Request body 中”這個其實也不准,post請求也可以沒 body,也可以在 url 傳遞呢?

三、總結:

GET 和 POST 有一個重大區別,簡單的說:
GET 產生一個 TCP 數據包;POST 產生兩個 TCP 數據包。
長的說:
對於 GET 方式的請求,瀏覽器會把 http header 和 data 一並發送出去,服務器響應 200(返回數據);
而對於 POST,瀏覽器先發送 header,服務器響應 100 continue,瀏覽器再發送data,服務器響應 200 ok(返回數據)。

詳情可以參考這篇,寫的挺好的GET 和 POST 兩種基本請求方法的區別


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM