關於HTTP請求GET和POST的區別

2022-09-01 22:30:26 字數 899 閱讀 6321

1.get提交,請求的資料會附在url之後(就是把資料放置在http協議頭<request-line>中),以?分割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包的包體<request-body>中。上文示例中紅色字型標明的就是實際的傳輸資料

因此,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提到的「安全」不是同個概念。上面「安全」的含義僅僅是不作資料修改,而這裡安全的含義是真正的security的含義,比如:通過get提交資料,使用者名稱和密碼將明文出現在url上,因為(1)登入頁面有可能被瀏覽器快取, (2)其他人檢視瀏覽器的歷史紀錄,那麼別人就可以拿到你的賬號和密碼了,

HTTP的兩種常用請求方式GET和POST

http http協議 hypertext transfer 用於從全球資訊網 wwww world wide web 伺服器傳輸超文字到本地瀏覽器的傳輸協議。http是乙個基於tcp ip通訊協議來傳遞資料 html檔案,檔案,查詢結果等 使用get方法時,查詢字串 名稱或鍵值對 是在get請求的...

php中運用http呼叫的GET和POST方法

使用到的函式是curl init,curl setopt,curl exec,curl close。預設是get方法,可以選擇是否使用header ch curl init curl setopt ch,curlopt url,url curl setopt ch,curlopt timeout,2...

Http的GET和POST請求

1 http頭資訊 request line 請求型別 訪問資源 http版本 headers http頭訊息 r n request body 任意其他資料body get請求樣例 post請求樣例 2 get和post區別 get主要從伺服器上獲取資料 post主要向伺服器傳送資料 get使用r...