1.get
提交,請求的資料會附在
url之後(就是把資料放置在
協議頭<
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
提交:把提交的資料放置在是
包的包體<
request-body
>中。上文示例中紅色字型標明的就是實際的傳輸資料
因此,get
提交的資料會在位址列中顯示出來,而
post
提交,位址列不會改變
2.傳輸資料的大小:
首先宣告,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)其他人檢視瀏覽器的歷史紀錄,那麼別人就可以拿到你的賬號和密碼了。
Get請求 Post請求
複製直接用 post同步請求 void synchronourequestbypost post非同步請求 1.方法 void asynchronourequestbypost void connection nsurlconnection connection didreceiveresponse...
get請求 post請求
今天由於群裡的人說出了這個問題,在這裡總結一下,順便加強記憶。get和post是http請求的兩種基本方法,要說它們的區別 直觀的區別就是get把引數包含在url中,post通過request body傳遞引數 本標準答案參考自w3schools 這只是乙個表面的並不是深層的更深一步理解 get和p...
POST 請求 GET請求
get 引數 username 和 password 1.get的請求都拼接在url中 2.後面是跟的引數 前面跟的都是介面 3.引數的形式key value key2 value2 對於get請求 所有得引數都拼接在url中,這樣暴露在外面 會造成資料的不安全 url的長度是有限制的 如果引數過於...