GET和POST的區別及誤區

2021-08-29 04:35:03 字數 1251 閱讀 7301

兩種常用 http 請求方法:get 和 post

http協議的描述

get - 從指定的資源請求資料。

post - 向指定的資源提交要被處理的資料

get方法

post方法

比較get和post

get引數通過url傳遞,post放在request body中。

get請求在url中傳遞的引數是有長度限制的,而post沒有。

get比post更不安全,因為引數直接暴露在url中,所以不能用來傳遞敏感資訊。

get請求只能進行url編碼,而post支援多種編碼方式

get請求會瀏覽器主動cache,而post支援多種編碼方式。

get請求引數會被完整保留在瀏覽歷史記錄裡,而post中的引數不會被保留。

get和post本質上就是tcp鏈結,並無差別。但是由於http的規定和瀏覽器/伺服器的限制,導致他們在應用過程中體現出一些不同。

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

長的說:

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

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

誤區http 協議未規定get 和post的長度限制

url不存在引數上限的問題

get的最大長度顯示是因為 瀏覽器和 web伺服器限制了 uri的長度get的最大長度顯示是因為瀏覽器和web伺服器限制了 uri的長度

不同的瀏覽器和web伺服器,限制的最大長度不一樣不同的瀏覽器和web伺服器,限制的最大長度不一樣

要支援ie,則最大長度為2083byte(2k+35),若只支援chrome,則最大長度 8182byte要支援ie,則最大長度為2083byte,若只支援chrome,則最大長度 8182byte

對於其他瀏覽器,如netscape、firefox等,理論上沒有長度限制,其限制取決於作業系統的支援。

誤解:http 協議下的 get 請求引數長度是有大小限制的,最大不能超過xx,而 post 是無限制的。

1、首先即使有長度限制,也是限制的是整個 uri 長度,而不僅僅是你的引數值資料長度。

2、http 協議從未規定 get/post 的請求長度限制是多少。

GET和POST區別及快取問題

2.就是get和post區別的快取問題。首先要了解什麼是快取。http快取的基本目的就是使應用執行的更快,更易擴充套件,但是http快取通常只適用於idempotent request 可以理解為查詢請求,也就是不更新服務端資料的請求 這也就導致了在http的世界裡,一般都是對get請求做快取,po...

get和post的區別

在b s應用程式中,前台與後台的資料互動,都是通過html中form表單完成的。form提供了兩種資料傳輸的方式 get和post。雖然它們都是資料的提交方式,但是在實際傳輸時確有很大的不同,並且可能會對資料產生嚴重的影響。雖然為了方便的得到變數值,web容器已經遮蔽了二者的一些差異,但是了解二者的...

post和get的區別?

1.get是從伺服器上獲取資料,post是向伺服器傳送資料。get 和 post只是一種傳遞資料的方式,get也可以把資料傳到伺服器,他們的本質都是傳送請求和接收結果。只是組織格式和資料量上面有差別,http協議裡面有介紹。2.get是把引數資料佇列加到提交表單的action屬性所指的url中,值和...