get和post本質上就是tcp鏈結,並無差別。但是由於http的規定和瀏覽器/伺服器的限制,導致他們在應用過程中體現出一些不同。
get和post還有乙個重大區別,簡單的說:
get產生乙個tcp資料報;
post產生兩個tcp資料報。
長的說:
對於get方式的請求,瀏覽器會把http header和data一併傳送出去,伺服器響應200(返回資料);
而對於post,瀏覽器先傳送header,伺服器響應100 continue,瀏覽器再傳送data,伺服器響應200 ok(返回資料)。
也就是說,get只需要汽車跑一趟就把貨送到了,而post得跑兩趟,第一趟,先去和伺服器打個招呼「嗨,我等下要送一批貨來,你們開啟門迎接我」,然後再回頭把貨送過去。
1. get與post都有自己的語義,不能隨便混用。
2. 據研究,在網路環境好的情況下,發一次包的時間和發兩次包的時間差別基本可以無視。而在網路環境差的情況下,兩次包的tcp在驗證資料報完整性上,有非常大的優點。
3. 並不是所有瀏覽器都會在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...