概述HTTP的幾種不同的請(qǐng)求方式
get 根據(jù)HTTP規(guī)范显蝌,GET用于信息獲取订咸,而且應(yīng)該是安全的和冪等的
post 根據(jù)HTTP規(guī)范酬诀,POST表示可能修改變服務(wù)器上的資源的請(qǐng)求
delete 發(fā)送請(qǐng)求骆撇, 后臺(tái)會(huì)根據(jù)不同的URL做出不同的操作
put
post請(qǐng)求和get請(qǐng)求的區(qū)別
- GET請(qǐng)求的數(shù)據(jù)會(huì)附在URL之后(就是把數(shù)據(jù)放置在HTTP協(xié)議頭中),以
?
分割URL和傳輸數(shù)據(jù)神郊,參數(shù)之間以&相連.
ps. 如果數(shù)據(jù)是英文字母/數(shù)字, 原樣發(fā)送, 如果是空格, 轉(zhuǎn)換為
+
, 如果是中文/其他字符, 則直接把字符串用BASE64加密.
POST把提交的數(shù)據(jù)放置在是HTTP包的body體中.
-
GET請(qǐng)求由于是通過(guò)URL提交數(shù)據(jù)的, 所以長(zhǎng)度會(huì)受到操作系統(tǒng)和瀏覽器的限制. HTTP協(xié)議規(guī)范并沒(méi)有對(duì)URL的長(zhǎng)度進(jìn)行限制.
POST請(qǐng)求把提交的數(shù)據(jù)放在了body體里. HTTP協(xié)議規(guī)范同樣沒(méi)有對(duì)其大小進(jìn)行限制, 起到限制作用的是服務(wù)器的處理能力. (服務(wù)器對(duì)body的大小進(jìn)行了限制)
POST請(qǐng)求的安全性要比GET請(qǐng)求高.
比如: 通過(guò)GET提交數(shù)據(jù), 用戶(hù)名和密碼將明文出現(xiàn)在URL上, 而且(1)登錄頁(yè)面有可能被瀏覽器緩存, (2)其他人查看瀏覽器的歷史紀(jì)錄, 那么別人就可以拿到你的賬號(hào)和密碼了, 除此之外, 使用GET提交數(shù)據(jù)還可能會(huì)造成Cross-site request forgery攻擊.