GET 和 POST 的區別

wh7577發表於2021-09-09
  1. get引數透過url傳遞,post放在request body中。

  2. get請求在url中傳遞的引數是有長度限制的,而post沒有。

  3. get比post更不安全,因為引數直接暴露在url中,所以不能用來傳遞敏感資訊。

    • get請求只能進行url編碼,而post支援多種編碼方式

    • get請求會瀏覽器主動cache,而post支援多種編碼方式。

    • get請求引數會被完整保留在瀏覽歷史記錄裡,而post中的引數不會被保留。

  1. GET和POST本質上就是TCP連結,並無差別。但是由於HTTP的規定和瀏覽器/伺服器的限制,導致他們在應用過程中體現出一些不同。

  2. GET產生一個TCP資料包;POST產生兩個TCP資料包。

  • 長的說:

    • 對於GET方式的請求,瀏覽器會把http header和data一併傳送出去,伺服器響應200(返回資料);

    • 而對於POST,瀏覽器先傳送header,伺服器響應100 continue,瀏覽器再傳送data,伺服器響應200 ok(返回資料)。


      (據研究,在網路環境好的情況下,發一次包的時間和發兩次包的時間差別基本可以無視。而在網路環境差的情況下,兩次包的TCP在驗證資料包完整性上,有非常大的優點。)


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2480/viewspace-2815766/,如需轉載,請註明出處,否則將追究法律責任。

相關文章