post、put、patch區別:
請注意,查詢字串
(名稱/值對)是在 get 請求的 url 中傳送的
get 請求可被快取
:chrome下和firefox下如果檢測到get請求的是靜態資源,則會快取
,如果是資料,則不快取
,但是ie這個傻x啥都會快取起來
get 請求保留在瀏覽器歷史記錄中
get 請求可被收藏為書籤
get 請求不應在處理敏感資料時使用
get請求有長度限制
,大多數瀏覽器通常都會限制url長度在2k個位元組
get 請求只應當用於取回資料
只接受ascii字元
的引數的資料型別
get效率高
功能:get方法的乙個替代方法,它主要是向web伺服器提交表單資料
,尤其是大批量的資料
,克服了get方法中的資訊無法保密
和資料量太小
的缺點。該方法的響應是不可快取的,除非響應裡有合適的cache-control或者expires頭域。
最重要原因:post在真正接受資料之前會先將請求頭髮送給伺服器進行確認,然後才真正傳送資料。
瀏覽器請求tcp連線(第一次握手)
伺服器答應進行tcp連線(第二次握手)
瀏覽器確認,並傳送post請求頭(第三次握手,這個報文比較小,所以http會在此時進行第一次資料傳送
)
伺服器返回100 continue響應
瀏覽器開始傳送資料
伺服器返回200 ok響應
瀏覽器請求tcp連線(第一次握手)
伺服器答應進行tcp連線(第二次握手)
瀏覽器確認,並傳送get請求頭和資料(第三次握手,這個報文比較小,所以http會在此時進行第一次資料傳送
)
伺服器返回200 ok響應
get和post還有乙個重大區別
也就是說,get只需要汽車跑一趟就把貨送到了,而post得跑兩趟,第一趟,先去和伺服器打個招呼「嗨,我等下要送一批貨來,你們開啟門迎接我」,然後再回頭把貨送過去。
get與post都有自己的語義,不能隨便混用。
據研究,在網路環境好的情況下,發一次包的時間和發兩次包的時間差別基本可以無視。而在網路環境差的情況下,兩次包的tcp在驗證資料報完整性上,有非常大的優點。
並不是所有瀏覽器都會在post中傳送兩次包,firefox就只傳送一次。
HTTP的幾種請求方法和用途
get請求會向資料庫獲取資訊,只是用來查詢資料,不會修改,增加資料。使用url傳遞引數,對所傳送的數量有限制,一般在2000字元 post向伺服器傳送資料,會改變資料的種類等資源,就像insert操作一樣,會建立新的內容,大小一般沒有限制,post安全性高,post不會被快取 這個方法這post很像...
HTTP請求的基本方法 GET和POST
get在瀏覽器回退時是無害的,而post會再次提交請求。get產生的url位址可以被bookmark,而post不可以。get請求會被瀏覽器主動cache,而post不會,除非手動設定。get請求只能進行url編碼,而post支援多種編碼方式。get請求引數會被完整保留在瀏覽器歷史記錄裡,而post...
HTTP請求方法 get和post的區別
http定義了與伺服器互動的不同方法,最基本的方法有4種,分別是get,post,put,delete。乙個url位址,它用於描述乙個網路上的資源,而http中的get,post,put,delete 就對應著對這個資源的查,改,增,刪4個操作。get是從伺服器上獲取資料,post是向伺服器傳送資料...