Http的Get和Post請求的異同點 本質

2021-09-28 15:52:32 字數 1019 閱讀 6991

get和post是什麼?http協議中的兩種傳送請求的方法。

http是什麼?http是基於tcp/ip的關於資料如何在全球資訊網中如何通訊的協議。

http的底層是tcp/ip。所以get和post的底層也是tcp/ip,也就是說,get/post都是tcp鏈結。get和post能做的事情是一樣一樣的。你要給get加上request body,給post帶上url引數,技術上是完全行的通的。

1.get和post請求本質上都是tcp鏈結,並無差別。

*但是由於http的規定和瀏覽器/伺服器的限制,導致他們在應用過程中體現出一些不同。

2.get請求可以在request body傳引數,post請求也可以給url帶上引數。

*如果你用get服務,在request body偷偷藏了資料,不同伺服器的處理方式也是不同的,有些伺服器會幫你卸貨,讀出資料,有些伺服器直接忽略,所以,雖然get可以帶request body,也不能保證一定能被接收到哦。

3.http協議明確地指出了,http頭和body都沒有長度的要求。而對於url長度上的限制,有兩方面的原因造成:(1)瀏覽器(2)伺服器

*業界不成文的規定是,(大多數)瀏覽器通常都會限制url長度在2k個位元組,而(大多數)伺服器最多處理64k大小的url。超過的部分,恕不處理。

4.get產生乙個tcp資料報;post產生兩個tcp資料報。

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

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

打個比方,汽車送貨的時候,get只需要汽車跑一趟就把貨送到了,而post得跑兩趟,第一趟,先去和伺服器打個招呼「嗨,我等下要送一批貨來,你們開啟門迎接我」,然後再回頭把貨送過去。

注:並不是所有瀏覽器都會在post中傳送兩次包,firefox就只傳送一次。

Http的GET和POST請求

1 http頭資訊 request line 請求型別 訪問資源 http版本 headers http頭訊息 r n request body 任意其他資料body get請求樣例 post請求樣例 2 get和post區別 get主要從伺服器上獲取資料 post主要向伺服器傳送資料 get使用r...

http的get和post請求

http定義了與伺服器互動的不同方法,最基本的方法有4種,分別是get,post,put,delete。url全稱是資源描述符,我們可以這樣認為 乙個url位址,它用於描述乙個網路上的資源,而http中的get,post,put,delete就對應著對這個資源的查,改,增,刪4個操作。到這裡,大家應...

Http的get和post請求

httpclient只能以程式設計的方式通過其api用於傳輸和接受http訊息 通過如下3步來訪問http資源 1.建立httpget或httppost物件,將要請求的url通過構造方法傳入httpget或httppost物件。2.使用defaulthttpclient類的execute方法傳送ht...