rest理論基礎

2021-10-05 11:29:22 字數 1833 閱讀 4452

架構性特性:

效能(硬體和軟體投入)

伸縮性(規模)

簡化統一介面(通訊協議  http    )

元件修改

通訊透明

元件可以執行

可靠性 冪等

put初始狀態:0

修改狀態:1*n

最終狀態:1

put初始狀態:1

修改狀態:0*n

最終狀態:0

非冪等post

初始狀態:1

修改狀態:1+1=2

n次修改:1+n=n+1

冪等/非冪等 依賴於服務端實現,這種方式是一種契約

白話文(

概念解釋

冪等性http冪等方法,是指無論呼叫多少次都不會產生不同***(資料變更)的http方法

簡單解釋:

重**送同乙個請求多次,結果同傳送一次

操作示例:

get /tickets # 獲取ticket列表

get /tickets/12 # 檢視某個具體的ticket

post /tickets # 新建乙個ticket

put /tickets/12 # 更新ticket 12

patch /tickets/12 # 更新ticket 12

delete /tickets/12 # 刪除ticekt 12

http get(冪等)

get用於獲取資源,不管呼叫多少次介面,返回結果保持不變,不會改變資源。如:

第一次呼叫 get /tickets , 後台返回tickets列表(我想看下還有多少張票)

第二次呼叫 get /tickets , 返回同樣的資料(我想再看一遍tickets資訊)

ps: 我多看一眼,總不會把你的票看沒了吧,我看或者不看你就在那裡

http post(非冪等)

post用於建立資源,每次呼叫都會建立乙個新的資源,如

第一次呼叫 post /tickets ,後台產生 /tickets/1 這麼乙個資源(我要新增一張票)

第二次呼叫 post /tickets , 後台產生 /tickets/2 這麼乙個資源(我要再新增一張票)

ps:我是生產車票的,所以我不會產生重複的車票(id至少不一樣)

http put(冪等)

put用於更新資源,沒有的話則執行建立操作。如:

第一次呼叫 put /tickets/11 , 後台建立 /tickets/11 (幫我看下11號票在不在,在的話更新下狀態,不在的話建立下)

第二次呼叫 put /tickets/11 , 後台更新 /tickets/11 (幫我看下11號票在不在,在的話更新下狀態,不在的話建立下)

由於兩次請求攜帶的資料是一樣的,所以不論請求多少次,最終的結果都是後台存在這麼乙個資源(建立或更新)

ps:我有強迫症加健忘症,同樣的事我可能會讓你幹很多遍,你給我小心處理哈,我可不想看到不同的結果

http delete(冪等)

delete用於刪除資源,會將資源從後台刪除。如:

第一次呼叫 delete /tickets/11 , 後台刪除 /tickets/11對應的資料資訊 (11號票我不要了,幫我刪除下吧)

第二次呼叫 delete /tickets/11 , 後台判斷 /tickets/11不存在,無操作(11號票我不記得有沒有刪除,幫我刪除下吧)

ps:我也有健忘症啊,同樣的事我也可能會幹很多遍,你忽略就好了,給我個眼神(返回碼),我就知道了

備註:/tickets/12 這種叫做uri,乙個uri代表乙個資源,本例中代表一張票(實際可能對應資料庫中的一行資訊),

所以上述描述的建立,刪除,更新資源,都是指根據uri及其所附帶資訊實際操作uri對應的後台資源。

TCP IP理論基礎

一 tcp ip的分層模型 osi協議參考模型,它是基於國際標準化組織 iso 的建議發展起來的,它分為7個層次 應用層 表示層 會話層 傳輸層 網路層 資料鏈路層及物理層。這個7層的協議模型雖然規定得非常細緻和完善,但在實際中卻得不到廣泛的應用,其重要的原因之一就在於它過於複雜。但它仍是此後很多協...

TCP IP理論基礎

linux中網路棧的介紹一般分為四層的internet模型。分別為應用層 傳輸層 網際層和網路介面。tcp ip實際上是乙個協同工作的通訊家族,為網路資料通訊提供通路。為方便將tcp ip協議族大致上分為三部分 1.internet協議 ip 這一部分也稱為網路層。主要包括ip icmp和arp。其...

SCM理論基礎

在乙個大型的專案中,會有很多人員,比如說專案管理者 開發人員等,人多的情況下,很可能就會在及時溝通 管理等方面出現問題,具體可以總結為 這些問題的存在,不僅會使我們的開發效率很低,做出來的產品質量也會受影響。有了scm,就很好的解決了這些問題。scmsoftwareconfiguration man...