【HTTP】get 和 post 两种基本请求方法
根據HTTP標準,HTTP請求可以使用多種請求方法。
HTTP1.0定義了三種請求方法:Get,Post 和 Head方法
HTTP1.1新增了五種請求方法:Options,Put,Delete,Trace和Connect
HTTP Request Method方法
共計8種:
【以上內容來自W3Cschool】
常用的兩種請求方式就是我們常說的Post,Get請求方法。
Post請求和Get請求區別:
上面這些都是一些比較官方的解釋。從本質上來說,Get和Post請求并沒有區別,它們只不過是HTTP協議中兩種不同的發送請求的方式而已。
HTTP底層遵循的協議是TCP/IP協議,所以Get和Post請求也遵循TCP/IP協議。也就是說,Get和Post都是TCP鏈接。
TCP就像交通工具一樣,用來運輸東西,TCP用來傳輸數據,在傳輸數據過程中,要經過三次握手,所以它是相對(UDP)安全的。在交通工具中,由于要在不同的環境中使用,所以會有天上飛的/陸上跑的/水里游的。在同一環境下也會有多種類型的交通工具。比如有裝載貨物的大/小貨車,有裝載人的大/小客車,汽車等。不同的交通工具會被貼上不同的標簽,在HTTP請求方式中,根據用途不同,也會有不同的標簽,這些被貼上的標簽,就是用來識別這些請求方式的。所以Post和Get請求本質上都是基于TCP/IP協議,用于傳輸數據;只不過就是傳輸數據的方式是不同。就像我們從公司回到家里一樣,可以步行/騎電車/自駕,目標都是家,只是回到家的方式不同罷了。不同的方式有它自己獨特的特點,優勢與劣勢等。
除了上面說到的這些,Get和Post請求還有一個重要的區別:Get產生一個TCP數據包,Post產生兩個TCP數據包。
在Get請求方式中,瀏覽器會把http header和data一并發送出去,服務器響應200(返回數據);而對于Post,瀏覽器先發送header,服務器響應100 continue,瀏覽器再發送data,服務器響應200 ok(返回數據)。也就是說,如果用一輛貨車從甲地往乙地運送一車貨物,采用Get運送方式,貨車會帶著命令-乙呀,我要給你一車財富哦,并且在甲地裝上貨物,開往乙地,到達乙地后,乙給出應答。而采用Post運送方式,貨車會先帶著命令開往乙地,把請求-給你一車財富 告訴乙,此時要接收乙的反饋信息,然后再回到甲地裝上財富,開往乙地,乙給出應答。
在網絡良好情況下,兩種請求方式的時間差并不大,而在網絡環境較差的情況下,兩次數據包的TCP(Post請求方式)能夠很好的驗證數據的完整性。
由于HTTP的規定和瀏覽器/服務器的不同,Get和Post請求在數據傳送過程中可能會有一些不同。
總結
以上是生活随笔為你收集整理的【HTTP】get 和 post 两种基本请求方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#中using关键字的使用
- 下一篇: 【Asp.net】Cookie对象