網站首頁 美容小常識 享受生活 東方時尚 識真假 高奢 資訊 遊戲攻略 搞笑段子
當前位置:品位站 > 享受生活 > 心理

restful架構詳解

欄目: 心理 / 發佈於: / 人氣:1.02W
restful架構詳解

restful即表象層狀態轉變。

restful七大原則:

1、 C-S架構

數據的存儲在Server端,Client端只需使用就行。兩端徹底分離的好處使client端代碼的可移植性變強,Server端的拓展性變強。兩端單獨開發,互不干擾。 

2、 無狀態

http請求本身就是無狀態的,基於C-S架構,客户端的每一次請求帶有充分的信息能夠讓服務端識別。

請求所需的一些信息都包含在URL的查詢參數、header、body,服務端能夠根據請求的各種參數,無需保存客户端的狀態,將響應正確返回給客户端。

無狀態的特徵大大提高的服務端的健壯性和可拓展性。 

當然這總無狀態性的約束也是有缺點的,客户端的每一次請求都必須帶上相同重複的信息確定自己的身份和狀態,造成傳輸數據的宂餘性,但這種確定對於性能和使用來説,幾乎是忽略不計的。 

3、統一的接口

這個才是REST架構的核心,統一的接口對於RESTful服務非常重要。客户端只需要關注實現接口就可以,接口的可讀性加強,使用人員方便調用。 

4、一致的數據格式

服務端返回的數據格式要麼是XML,要麼是Json,或者直接返回狀態碼,有興趣的可以看看博客園的開放平台的操作數據的api,post、put、patch都是返回的一個狀態碼 。 

5、系統分層

客户端通常無法表明自己是直接還是間接與端服務器進行連接,分層時同樣要考慮安全策略。 

6、可緩存

在萬維網上,客户端可以緩存頁面的響應內容。因此響應都應隱式或顯式的定義為可緩存的,若不可緩存則要避免客户端在多次請求後用舊數據或髒數據來響應。

管理得當的緩存會部分地或完全地除去客户端和服務端之間的交互,進一步改善性能和延展性。 

7、按需編碼、可定製代碼(可選)

服務端可選擇臨時給客户端下發一些功能代碼讓客户端來執行,從而定製和擴展客户端的某些功能。

比如服務端可以返回一些 Javascript 代碼讓客户端執行,去實現某些特定的功能。

Tags:restful 架構