告诉服务器端当前请求的意图
有了url,mimetype、狀態碼, 能夠基本滿足用戶的需求,但是,很多時候一個網站不單純只是不斷從服務端獲取資源并做渲染,可能還需要做一些數據的提交、刪除等功能。所以瀏覽器定義了8種方法來表示對于不同請求的操作方式,當然最常用的還是Get和Post,我覺得,要不是
Get方法不支持大數據的傳輸,估計很多同學Post都不會去使用。?
GET:一般是用于客戶端發送一個URI地址去獲取服務端的資源(一般用于查詢操作),Get不支持的傳輸數據有限制,具體限制由瀏覽器決定?
POST:一般用戶客戶端傳輸一個實體給到服務端,讓服務端去保存(一般用于創建操作)?
PUT:向服務器發送數據,一般用于更新數據的操作?
DELETE:客戶端發起一個Delete請求要求服務端把某個數據刪除(一般用于刪除操作)?
HEAD:獲得報文首部、
OPTIONS:詢問支持的方法、
TRACE:追蹤路徑、
CONNECT:用隧道協議連接代理?
在REST架構風格中,有嚴格規定對于不同的請求類型要設置合適的請求方法。也是避免出現因為亂用導致混亂的問題。這里提到了REST架構,現在很多同學都在寫REST,有沒有人能夠明白為什么要定義REST這個架構風格??
我個人認為是這樣?
1. 隨著服務化架構的普及,http協議的使用頻率越來越高?
2. 很多人在錯誤的使用http協議定義接口,比如各種各樣的命名,什么getUserInfoById,deleteById之類的、有狀態和無狀態請求混用。?
3. 對于http協議本身提供的規則并沒有很好的利用?
所以,為了更好的解決這些問題,干脆就定義一套規則,這套規則并沒有引入新的東西,無非就是對http協議本身的使用做了一些約束,比如說?
1. REST是面向資源,每一個URI代表一個資源?
2. 強調無狀態化,服務器端不能存儲來自某個客戶的某個請求中的信息,并在該客戶的其他請求中使用?
3. 強調URL暴露資源時,不要在URI中出現動詞?
4. 合理的利用http狀態碼、請求方法。?
因此大家在參照這種標準去使用REST風格時,要明白你遵循的是什么以及要解決什么問題。
?
總結
以上是生活随笔為你收集整理的告诉服务器端当前请求的意图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如果用户访问一个不存在的地址呢?
- 下一篇: http协议的完整组成