GET,POST,PUT,DELETE,OPTIONS等請求方式簡單總結
之前做的java web專案,基本上只使用get和post的請求方式,但是現在新專案額外增加了put,delete,查了點資料,做個簡單的總結。
1、GET
get請求是用來獲取資料的,只是用來查詢資料,不對伺服器的資料做任何的修改,新增,刪除等操作。
在這裡我們認為get請求是安全的,以及冪等的。安全就是指不影響伺服器的資料,冪等是指同一個請求傳送多次返回的結果應該相同。
特點:
get請求會把請求的引數附加在URL後面,這樣會產生安全問題,如果是系統的登陸介面採用的get請求,需要對請求的引數做一個加密。
get請求其實本身HTTP協議並沒有限制它的URL大小,但是不同的瀏覽器對其有不同的大小長度限制
2、POST
post請求一般是對伺服器的資料做改變,常用來資料的提交,新增操作。
特點:
post請求的請求引數都是請求體中
post請求本身HTTP協議也是沒有限制大小的,限制它的是伺服器的處理能力
3、PUT
put請求與post一樣都會改變伺服器的資料,但是put的側重點在於對於資料的修改操作,但是post側重於對於資料的增加。
4、DELETE
delete請求用來刪除伺服器的資源。
5、OPTIONS
options請求屬於瀏覽器的預檢請求,檢視伺服器是否接受請求,預檢通過後,瀏覽器才會去發get,post,put,delete等請求。至於什麼情況下瀏覽器會發預檢請求,瀏覽器會會將請求分為兩類,簡單請求與非簡單請求,非簡單請求會產生預檢options請求。
關於options請求具體詳細的可以觀看另一位作者的這篇文章:https://www.jianshu.com/p/5cf82f092201
另外:這些不同方式的請求形式,只是一種規範定義而已,並不是說get請求無法修改伺服器的資料,只是一種規範,比如你也可以所有的請求都通過post方式來訪問,實現功能上面沒有任何問題,只是說這種做不符合了規範而已,我們平常編碼還是儘量符合規範比較好。