Http之Get Post請求區別

2021-07-08 15:46:54 字數 1677 閱讀 2053

1.http請求格式:

line>

line>

在http請求中,第一行必須是乙個請求行(request line),用來說明請求型別、要訪問的資源以及使用的http版本。緊接著是乙個首部(header)小節,用來說明伺服器要使用的附加資訊。在首部之後是乙個空行,再此之後可以新增任意的其他資料[稱之為主體(body)]。

2.get與post區別

http定義了與伺服器互動的不同方法,最基本的方法是 get 和 post.

(1)get是從伺服器上獲取資料,post是向伺服器傳送資料。

(2) 在客戶端,get方式在通過url提交資料,資料在url中可以看到;post方式,資料放置在html header內提交。

(3) 對於get方式,伺服器端用request.querystring獲取變數的值,對於post方式,伺服器端用request.form獲取提交的資料。

(4) get方式提交的資料最多只能有1024位元組,而post則沒有此限制。

(5) 安全性問題。正如在(1)中提到,使用 get 的時候,引數會顯示在位址列上,而 post 不會。所以,如果這些資料是中文資料而且是非敏感資料,那麼使用 get;如果使用者輸入的資料不是中文字元而且包含敏感資料,那麼還是使用 post為好。

注:所謂安全的意味著該操作用於獲取資訊而非修改資訊。冪等的意味著對同一 url 的多個請求應該返回同樣的結果。完整的定義並不像看起來那樣嚴格。換句話說,get 請求一般不應產生***。從根本上講,其目標是當使用者開啟乙個鏈結時,她可以確信從自身的角度來看沒有改變資源。比如,新聞站點的頭版不斷更新。雖然第二次請求會返回不同的一批新聞,該操作仍然被認為是安全的和冪等的,因為它總是返回當前的新聞。反之亦然。post 請求就不那麼輕鬆了。post 表示可能改變伺服器上的資源的請求。仍然以新聞站點為例,讀者對文章的註解應該通過 post 請求實現,因為在註解提交之後站點已經不同了(比方說文章下面出現一條註解)。

概括來說:

http方法:get請求與post請求的區別

1. get是向伺服器發索取資料的一種請求,而post是向伺服器提交資料的一種請求

2. get是獲取資訊,而不是修改資訊,類似資料庫查詢功能一樣,資料不會被修改

3. get請求的引數會跟在url後進行傳遞,請求的資料會附在url之後,以?分割url和傳輸資料,引數之間以&相連,%xx中的xx為該符號以16進製表示的ascii,如果資料是英文本母/數字,原樣傳送,如果是空格,轉換為+,如果是中文/其他字元,則直接把字串用base64加密。

get傳輸的資料有大小限制,因為get是通過url提交資料,那麼get可提交的資料量就跟url的長度有直接關係了,不同的瀏覽器對url的長度的限制是不同的。

4. get請求的資料會被瀏覽器快取起來,使用者名稱和密碼將明文出現在url上,其他人可以查到歷史瀏覽記錄,資料不太安全。在伺服器端,用request.querystring來獲取get方式提交來的資料

post請求則作為http訊息的實際內容傳送給web伺服器,資料放置在html header內提交,post沒有限制提交的資料。post比get安全,當資料是中文或者不敏感的資料,則用get,因為使用get,引數會顯示在位址,對於敏感資料和不是中文字元的資料,則用post

post表示可能修改變伺服器上的資源的請求,在伺服器端,用post方式提交的資料只能用request.form來獲取

Http之Get Post請求區別

在http請求中,第一行必須是乙個請求行 request line 用來說明請求型別 要訪問的資源以及使用的http版本。緊接著是乙個首部 header 小節,用來說明伺服器要使用的附加資訊。在首部之後是乙個空行,再此之後可以新增任意的其他資料 稱之為主體 body 2 get與post區別 htt...

Http之Get Post請求區別

1 http請求格式 在http請求中,第一行必須是乙個請求行 request line 用來說明請求型別 要訪問的資源以及使用的http版本。緊接著是乙個首部 header 小節,用來說明伺服器要使用的附加資訊。在首部之後是乙個空行,再此之後可以新增任意的其他資料 稱之為主體 body 2 get...

Http之Get Post請求區別

1 http請求格式 在http請求中,第一行必須是乙個請求行 request line 用來說明請求型別 要訪問的資源以及使用的http版本。緊接著是乙個首部 header 小節,用來說明伺服器要使用的附加資訊。在首部之後是乙個空行,再此之後可以新增任意的其他資料 稱之為主體 body 2 get...