http是什麼?http是基於tcp/ip的關於資料如何在全球資訊網中如何通訊的協議。
http的底層是tcp/ip。所以get和post的底層也是tcp/ip,也就是說,get/post都是tcp鏈結。get和post能做的事情是一樣一樣的。你要給get加上request body,給post帶上url引數,技術上是完全行的通的。 但是這樣做就失去了語義化,規範也毫無意義了。
get產生乙個tcp資料報;post產生兩個tcp資料報。
對於get方式的請求,瀏覽器會把http header和data一併傳送出去,伺服器響應200(返回資料)
而對於post,瀏覽器先傳送header,伺服器響應100 continue,瀏覽器再傳送data,伺服器響應200 ok(返回資料)。
因為post需要兩步,時間上消耗的要多一點,看起來get比post更有效。因此yahoo團隊有推薦用get替換post來優化**效能。但這是乙個坑!跳入需謹慎。為什麼?1. get與post都有自己的語義,不能隨便混用。
2. 據研究,在網路環境好的情況下,發一次包的時間和發兩次包的時間差別基本可以無視。而在網路環境差的情況下,兩次包的tcp在驗證資料報完整性上,有非常大的優點。
3. 並不是所有瀏覽器都會在post中傳送兩次包,firefox就只傳送一次。
HTTP中GET和POST方法異同
get和post是http中兩種最常用的方法。1.get是向伺服器請求資料,post是向伺服器傳送資料。2.get是把引數資料佇列加到提交表單的action屬性所指的url中,值和表單內各個字段一一對應,在url中可以看到。post是通過http post機制,將表單內各個字段與其內容放置在html...
http中get和post的方法
相同點 lget與 post 對於 post 除非相應裡有 cache control 或者expires 頭域指示其相應不可快取 請求的相應是可快取的 不同點 1.get是從伺服器上獲取資料,post 是向伺服器傳送資料 2.get是把引數資料佇列加到提交表單的 action 屬性所指定的 url...
http方法中的GET 和 POST
在客戶機和伺服器之間進行請求 響應時,兩種最常被用到的方法是 get 和 post。請注意,查詢字串 名稱 值對 是在 get 請求的 url 中傳送的 不同的引數之間用 隔開 test demo form.asp?name1 value1 name2 value2有關 get 請求的其他一些注釋 ...