REST = Representational State Transferjson
表述性狀態轉移,是一種軟甲接口設計風格。總之就是一種風格安全
REST基於:HTTP、HTML、JSON、XML、URI 這些普遍流行的協議和標準服務器
REST架構的主要原則:網絡
--網絡上的全部事物均可以被抽象爲資源(Resource)架構
--每一個資源都有惟一的資源標識符(Resource Identifier)less
--統一資源具備多種表現形式(xml,json)編碼
--對資源的各類操做不會改變資源標識符url
--全部操做都是無狀態的(stateless)客戶端,服務器端沒必要保存對方的詳細信息,服務器質押處理當前的request就行,能釋放資源spa
--符合REST原則的架構方式便可稱爲RESTful設計
以前的操做:
http://127.0.0.1/user/query/1 GET 根據用戶id查詢用戶數據
http://127.0.0.1/user/save POST 新增用戶
http://127.0.0.1/user/update POST 修改用戶信息
http://127.0.0.1/user/delete GET/POST 刪除用戶信息
RESTful用法:
http://127.0.0.1/user/1 GET 根據用戶id查詢用戶數據
http://127.0.0.1/user POST 新增用戶
http://127.0.0.1/user PUT 修改用戶信息
http://127.0.0.1/user DELETE 刪除用戶信息
REST接口設計:
URL組成-->
網絡協議http https
服務器地址(域名)
接口名稱(URI)
?參數列表(query string)
URL定義限定:
不要使用大寫字母
使用_或者-
參數列表(參數值)應該被encode過,保證數據安全。參考:base64和urlencode 編碼
響應設計
content body僅僅用來傳輸數據
用來描述數據或者請求的元數據放在Header中