Http GET和POST請求的區別

2021-09-28 20:51:41 字數 2346 閱讀 4967

get請求

注意最後一行是空行

post請求

1、get提交,請求的資料會附在url之後(就是把資料放置在http協議頭中),以?分割url和傳輸資料,多個引數用&連線;例 如:login.action?name=hyddd&password=idontknow&verify=%e4%bd%a0 %e5%a5%bd。如果資料是英文本母/數字,原樣傳送,如果是空格,轉換為+,如果是中文/其他字元,則直接把字串用base64加密,得出如: %e4%bd%a0%e5%a5%bd,其中%xx中的xx為該符號以16進製表示的ascii。

post提交:把提交的資料放置在是http包的包體中。上文示例中紅色字型標明的就是實際的傳輸資料

因此,get提交的資料會在位址列中顯示出來,而post提交,位址列不會改變

2、傳輸資料的大小:首先宣告:http協議沒有對傳輸的資料大小進行限制,http協議規範也沒有對url長度進行限制。

而在實際開發中存在的限制主要有:

get:特定瀏覽器和伺服器對url長度有限制,例如 ie對url長度的限制是2083位元組(2k+35)。對於其他瀏覽器,如netscape、firefox等,理論上沒有長度限制,其限制取決於操作系 統的支援。

因此對於get提交時,傳輸資料就會受到url長度的 限制。

post:由於不是通過url傳值,理論上資料不受 限。但實際各個web伺服器會規定對post提交資料大小進行限制,apache、iis6都有各自的配置。

3、安全性

post的安全性要比get的安全性高。比如:通過get提交資料,使用者名稱和密碼將明文出現在url上,因為(1)登入頁面有可能被瀏覽器快取;(2)其他人檢視瀏覽器的歷史紀錄,那麼別人就可以拿到你的賬號和密碼了,除此之外,使用get提交資料還可能會造成cross-site request forgery攻擊

4、http get,post,soap協議都是在http上執行的

(1)get:請求引數是作為乙個key/value對的序列(查詢字串)附加到url上的

查詢字串的長度受到web瀏覽器和web伺服器的限制(如ie最多支援2048個字元),不適合傳輸大型資料集同時,它很不安全

(3)soap:是http post的乙個專用版本,遵循一種特殊的xml訊息格式

content-type設定為: text/xml 任何資料都可以xml化。

http協議定義了很多與伺服器互動的方法,最基本的有4種,分別是get,post,put,delete. 乙個url位址用於描述乙個網路上的資源,而http中的get, post, put, delete就對應著對這個資源的查,改,增,刪4個操作。 我們最常見的就是get和post了。get一般用於獲取/查詢資源資訊,而post一般用於更新資源資訊.

我們看看get和post的區別

get提交的資料會放在url之後,以?分割url和傳輸資料,引數之間以&相連,如editposts.aspx?name=test1&id=123456. post方法是把提交的資料放在http包的body中.

get提交的資料大小有限制(因為瀏覽器對url的長度有限制),而post方法提交的資料沒有限制.

get方式需要使用request.querystring來取得變數的值,而post方式通過request.form來獲取變數的值。

get方式提交資料,會帶來安全問題,比如乙個登入頁面,通過get方式提交資料時,使用者名稱和密碼將出現在url上,如果頁面可以被快取或者其他人可以訪問這台機器,就可以從歷史記錄獲得該使用者的賬號和密碼.

http get和post請求的區別

get和post請求都是http的請求方式,具體點來講get一般用於獲取 查詢資源資訊,而post一般用於更新資源資訊。1 get請求提交的資料會在位址列顯示出來,而post請求不會再位址列顯示出來.get提交,請求的資料會附在url之後 就是把資料放置在http協議頭中 以?分割url和傳輸資料,...

http get和post請求的區別

get和post都是http請求的方式,get一般用於資源資訊的獲取,post一般用於資源資訊的更新操作。主要區別在於get請求提交的資料會在位址列顯示出來,而post請求不會再位址列顯示出來。get請求提交的資料會附著在url之後,用?分割開來,多個資料傳參的話使用 連線符,這個存在的問題就是傳參...

http get與post請求區別

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