關於get和post的理解

2021-08-19 18:06:14 字數 1263 閱讀 7367

如果採用 post 方法,瀏覽器將會按照下面兩步來傳送資料。首先,瀏覽器將與 action 屬性中指定的表單處理伺服器建立聯絡,一旦建立連線之後,瀏覽器就會按分段傳輸的方法將資料傳送給伺服器

在伺服器端,一旦 post 樣式的應用程式開始執行時,就應該從乙個標誌位置讀取引數,而一旦讀到引數,在應用程式能夠使用這些表單值以前,必須對這些引數進行解碼。使用者特定的伺服器會明確指定應用程式應該如何接受這些引數

2.post方法:

如果採用 get 方法,瀏覽器會與表單處理伺服器建立連線,然後直接在乙個傳輸步驟中傳送所有的表單資料:瀏覽器會將資料直接附在表單的 action url 之後。這兩者之間用問號進行分隔。

(post和get在本質上是沒有區別的,只不過在使用中進行了區別,下面主要說明的是使用中的區別)

一般我們在瀏覽器輸入乙個**訪問**都是get請求;在使用form表單提交資料中,可以通過設定method指定提交方式為get或者post提交方式,預設為get提交方式。

http定義了與伺服器互動的不同方法,其中最基本的四種:get,post,put,delete,head,其中get和head被稱為安全方法,因為使用get和head的http請求不會產生什麼動作。不會產生動作意味著get和head的http請求不會在伺服器上產生任何結果。但是安全方法並不是什麼動作都不產生,這裡的安全方法僅僅指不會修改資訊。

get和post本質上就是tcp鏈結,並無差別。但是由於http的規定和瀏覽器/伺服器的限制,導致他們在應用過程中體現出一些不同。 get和post還有乙個重大區別,簡單的說:get產生乙個tcp資料報;post產生兩個tcp資料報。

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

(1)get請求,請求的資料會附加在url之後,以?分割url和傳輸資料,多個引數用&連線。url的編碼格式採用的是ascii編碼,而不是uniclde,即是說所有的非ascii字元都要編碼之後再傳輸。post請求:post請求會把請求的資料放置在http請求包的包體中。因此,get請求的資料會暴露在位址列中,而post請求則不會。     

(8)get只允許 ascii 字元。post沒有限制。也允許二進位制資料。

(9)與 post 相比,get 的安全性較差,因為所傳送的資料是 url 的一部分。在傳送密碼或其他敏感資訊時絕不要使用 get !post 比 get 更安全,因為引數不會被儲存在瀏覽器歷史或 web 伺服器日誌中。

關於GET和POST的深層理解

get是向伺服器發索取資料的一種請求 而post是向伺服器提交資料的一種請求 get引數通過url傳遞,且使用者可以看見 post將表單內容放在request body 請求體 中,對使用者是透明的。get請求在url中傳遞的引數是有長度限制的,但這並不是http對其的限制,而特定的瀏覽器及伺服器對...

關於Get和Post的區別

前文 這幾天準備面試,看了網上的一些面試心得和分享,發現了get和post這個知識點自己平時會用一些,但是要說出個區別和原理還是太遠,在這裡做個記錄。get在瀏覽器回退時是無害的,而post會再次提交請求。get產生的url位址可以被bookmark,而post不可以。get請求會被瀏覽器主動cac...

關於post和get請求資料 新人理解

第二張圖 是你post請求的 第三張圖 就是afnetworking這個庫的使用方法,這兩句,必須有,沒有為什麼 接下來就是post請求啦,你打 manager post 就會出現好幾個相似的,你仔細辨認一下,下面那個是我經常用的,post放url,第二個放你寫的字典,第三個,我一般寫nil,第四個...