HTTP的幾種請求方法(get和post的區別)

2021-09-12 06:41:35 字數 1456 閱讀 1562

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是向伺服器傳送資料...