日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

get和post的联系与区别

發布時間:2024/7/19 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 get和post的联系与区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

get和post是什么?HTTP協議中的兩種發送請求的方法。

那么他們有什么區別呢?

在web開發時,我們可以很直觀的看到他們的區別:

1.get將參數放入URL中,而post則通過request body傳遞參數

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

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

4.get請求在URL中傳送的參數是有長度限制的,而post沒有。

?

其實他們在本質上并沒有什么區別,接下來我們來講講原因:

開始的時候我們說過,GET和POST是HTTP協議中的兩種發送請求的方法。

而HTTP基于TCP/IP的關于數據如何在萬維網中如何通信的協議。
HTTP的底層是TCP/IP。所以GET和POST的底層也是TCP/IP,也就是說,GET/POST都是TCP鏈接。

所以如果給get加上request body,給post加上url參數,是可行的。

接下來舉一個例子:

tcp就好比是交通工具--汽車,用來運送東西,但是如此多的汽車十分混亂,那我們需要進行分類,制定了分類規則:交通規則HTTP,我們的分類有:小汽車,公交車,貨車等等。

我們把get貼在汽車身上,然后把參數放在小汽車的頭頂(因為get請求參數是可見的),然后把post請求貼在貨車身上,把參數放在貨車車廂內(因為不可見)。但是這是一個準則,如果你違背準則,把貨車車廂內的參數放一些在貨車車頂,雖然看起來很奇怪,但也是可以的。

所以get和post本質上就是TCP鏈接,并無差別。但是由于HTTP的規定和瀏覽器/服務器的限制,導致他們在應用過程中體現出一些不同。

?

get和post還有一個很大的區別:get產生一個TCP數據包;post產生兩個TCP數據包。

對于get方式的請求,瀏覽器會把 http header和參數一起傳出去,只傳一次。

對應post方式的請求,瀏覽器會傳兩次,第一次傳http header,第二次再傳遞參數

就好比是先傳http header告訴對方我要傳數據了,然后再傳遞參數。

因此可以看出來,get的性能高一些,但是同樣的,在網絡不好的情況下,post更可靠,可以驗證數據包完整性

?

參考自:https://blog.csdn.net/ever_siyan/article/details/87935455

總結

以上是生活随笔為你收集整理的get和post的联系与区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。