http訪問中GET和POST的原理解析


1.HTTP有幾種請求方法:

  在HTTP1.1中總共定義了8種方法:

  在HTTP1.0中,定義了三種請求方法:GET,POST和HEAD方法。

  在HTTP1.1中,新增了五種請求方法:OPTINOS,PUT,DELETE,TRACE和CONNECT方法。

  但我們常用的就是get和post方法

2.GET和POST兩種請求方法都有哪些區別?

  1.get的傳遞參數是放在url中的,而post的請求方式是放在request body中的,所以post比get更安全。

  2.get傳遞的參數有大小限制,在2k以下,post參數在2G以下。

  3.get請求只能進行url編碼( application/x-www-form-urlencoded),而post支持多種編碼格式

  4.get請求會被瀏覽器主動緩存,而post不會,除非手動設置。

3.GET請求有request body嗎,如果有的話,可以像post一樣放在里面嗎?

  因為GET和POST都是基於TCP/IP的底層通信協議,所以在技術上get也是可以加入request body的,但是由於上層的HTTP協議的不同,導致服務器不一定能夠解析到request body

4.GET請求的參數寫法是固定的嗎?

  在約定中我們是將參數寫在?后面,使用&分割,但是也可以自己定義,但是需要服務器端進行相應的解析處理。

5.POST比GET方法更加安全,這種說法對嗎?

  不對,因為HTTP在網絡上都是明文傳輸的,所以並不完全安全,如果要安全傳輸,只有加密,也就是使用HTTPS。

6.GET和POST請求發送的數據包有什么不同?

  GET請求時產生一個TCP數據包,POST請求時產生兩個TCP數據包。

  GET:瀏覽器會把http header和data一並發送過去,服務器返回200(返回數據)

  POST:瀏覽器先發送header,服務器響應100 connect,瀏覽器再發送data,服務器響應200 OK(返回數據)

  


免責聲明!

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



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