我在一個RESTful應用程序中工作,當我閱讀有關REST時,我發現REST是一種建築風格,而不是架構,但我不明白原因。感謝您的回答。爲什麼REST是一種建築風格而不是建築?
對不起,我的英文不是我的母語。
我在一個RESTful應用程序中工作,當我閱讀有關REST時,我發現REST是一種建築風格,而不是架構,但我不明白原因。感謝您的回答。爲什麼REST是一種建築風格而不是建築?
對不起,我的英文不是我的母語。
架構是規定性的,通常爲解決方案提供藍圖,並定義核心構建塊。例如,「客戶端 - 服務器」體系結構定義了客戶端,服務器以及這兩個組件所扮演的角色。
的建築風格提供了一個框架來思考解決方案 - 通過URL REST中,資源可尋址的概念的情況下,一個詞彙操縱這些資源,無國籍等
這是很重要的,因爲問題「這是一個客戶服務器體系結構」可以很容易地回答 - 是否有客戶端,是否連接到服務器,每個服務器都有明確的責任? 「這是一個RESTful解決方案」這個問題很難回答 - 它要求您查看解決方案是否遵循REST的心理模型。
嗯,我不太清楚,但我認爲,這是因爲REST只描述了,應該是資源,由唯一的URL代表的資源,以及由它們表示的動作,由HTTP動詞和請求數據表示。 但是數據格式,是資源對象還是不是開發者的決定。
也許,即使HTTP是沒有必要的。
REST爲設計分佈式系統(主要是「超媒體」系統)提供了指導。這是基於Roy Fielding的工作。爲了在「架構風格」和「架構」之間清楚地說明,您可以將「架構風格」看作設計「具體架構」(或具體實現)的一組原則。以REST爲例,您可以看到例如定義了幾個具體實現,例如java開發了自己的REST架構風格的實現:JAX-RS(https://jax-rs-spec.java.net/,https://jax-rs-spec.java.net/nonav/2.0/apidocs/index.html)。