1. 程式人生 > >ajax,get和post的區別

ajax,get和post的區別

get請求 AD 優點 class 完整 歷史 返回 環境 一次

  • get參數通過url傳遞,post放在request body中。

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

  • get比post更不安全,因為參數直接暴露在url中,所以不能用來傳遞敏感信息。

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

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

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

  • GET和POST本質上就是TCP鏈接,並無差別。但是由於HTTP的規定和瀏覽器/服務器的限制,導致他們在應用過程中體現出一些不同。
  • GET產生一個TCP數據包;POST產生兩個TCP數據包。

長的說:

對於GET方式的請求,瀏覽器會把http header和data一並發送出去,服務器響應200(返回數據);

而對於POST,瀏覽器先發送header,服務器響應100 continue,瀏覽器再發送data,服務器響應200 ok(返回數據)。

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

ajax,get和post的區別