REST:Representational State Transfer 的縮寫,翻譯:“具象狀態(tài)傳輸”。一般解釋為“表現(xiàn)層狀態(tài)轉(zhuǎn)換”。
REST 是設計風格而不是標準。是指客戶端和服務器的交互形式。我們需要關注的重點是如何設計 REST 風格的網(wǎng)絡接口。
REST 的特點:
(1) 具象的。一般指表現(xiàn)層,要表現(xiàn)的對象就是資源。比如,客戶端訪問服務器,獲取的數(shù)據(jù)就是資源。比如文字、圖片、音視頻等。
(2) 表現(xiàn):資源的表現(xiàn)形式。txt 格式、html 格式、json 格式、jpg 格式等。瀏覽器通過 URL 確定資源的位置,但是需要在 HTTP 請求頭中,用 Accept 和 Content-Type 字段指定,這兩個字段是對資源表現(xiàn)的描述。
(3) 狀態(tài)轉(zhuǎn)換:客戶端和服務器交互的過程。在這個過程中,一定會有數(shù)據(jù)和狀態(tài)的轉(zhuǎn)化,這種轉(zhuǎn)化叫做狀態(tài)轉(zhuǎn)換。其中,GET 表示獲取資源,POST 表示新建資源,PUT 表示更新資源,DELETE 表示刪除資源。HTTP 協(xié)議中最常用的就是這四種操作方式。
RESTful 架構(gòu):
(1) 每個 URL 代表一種資源;
(2) 客戶端和服務器之間,傳遞這種資源的某種表現(xiàn)層;
(3) 客戶端通過四個 http 動詞,對服務器資源進行操作,實現(xiàn)表現(xiàn)層狀態(tài)轉(zhuǎn)換。