Re: [請益] 所以,到底什麼是RESTful API?

看板Soft_Job作者 (獅子)時間5年前 (2019/03/11 18:54), 5年前編輯推噓4(4011)
留言15則, 6人參與, 5年前最新討論串2/8 (看更多)
要了解RESTful,必須與RPC及SOAP一起對比 Remote Procedure Call (RPC):起源於1976年,允許Client遠端呼叫Server的子程式, 然後將執行結果返回給Client;當時的傳輸資料常使用二進制格式,為了統一資料傳輸格 式,隨後出現了XML-RPC, XML作為資料交換語言的RPC機制。 Simple Object Access Protocol (SOAP):起源於1998年,由於RPC經常被Firewall及 Proxy Server阻擋,為解決兼容及安全性問題,採用HTTP(起源於1989)是更好的方法, SOAP還提供了一套標準方法讓程式間可以互相通信。可以簡單把SOAP當作RPC+XML+ HTTP(POST only)+有狀態的通信方法。 Representational State Transfer (REST/RESTful)起源於2000年,由於SOAP過於複雜且 依賴狀態,REST提倡使用標準的HTTP中的四種動作GET、PUT、POST及DELETE,以及Uniform Resource Identifier (URI)來指定資源,降低開發的複雜性。可以簡單把REST當作PRC+ XML+HTTP(GET,PUT,POST,DELETE)+URI+無狀態的通信方法。 發展趨勢: REST風格相比XML-RPC及SOAP更加簡潔易用,而JSON資料交換語言相較XML更加輕量,目前 大多數的Web Service都採用REST+JSON作為傳輸方法。 ※ 引述《thefattiger (LawTea)》之銘言: : 因為Web_Design板滿冷清的所以來這邊問 : 若不適當請告知 : 小弟不是Web領域的, 但也難免會碰到相關的東西 : 常聽到寫Web App的人會講到這個名詞 : 但查了一下資訊卻還是摸不著頭緒 : 估狗RESTful API 大概都是講到一下幾點 : 1.資源要用URL表示 : 這不是本來就這樣的嗎? : 還是指別濫用query string? : 關於query string與RESTful實在眾說紛紜, 查了很久也找不到令人信服的答案 : 2.Server要回傳對應的Http Status Code : 這不是也本來就這樣的嗎? : 3.用GET/POST/PUT等動詞表達對資源的操作 : 意思是說, 本來只有GET/POST用法, 但其實還有PUT/PATCH/DELETE等等 : 應該要善加利用這些動詞把操作分得更清楚? : 4.Stateless : 這也很常看到,但Http不是本來就Stateless的嗎? : 要記錄state一般不都借助於session和cookie? : 還是不RESTful的Api會有某種state? : 5.資源傳遞的格式 : 這部分似乎不在RESTful的範圍,可以是json也可以是XML : 有Web領域的前輩可以指點一下嗎? : RESTful真的很神秘, 問身邊的人每個認為的重點都不太一樣 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.189.25.18 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1552301690.A.556.html

03/11 19:18, 5年前 , 1F
其實要加入以 resource 為中心的設計思想,不然花比較
03/11 19:18, 1F

03/11 19:18, 5年前 , 2F
protocol 或風格,只會有『好簡單』 vs 『好麻煩』的結果
03/11 19:18, 2F

03/11 19:19, 5年前 , 3F
現在用restful+json都覺得理所當然,反而覺得以前的人用那
03/11 19:19, 3F

03/11 19:19, 5年前 , 4F
些像是腦袋有洞
03/11 19:19, 4F
了解歷史演進 才能知其所以然

03/11 19:20, 5年前 , 5F
s/花/光/ 。動詞是針對特定資源的狀態變更
03/11 19:20, 5F

03/11 19:24, 5年前 , 6F
不要一直覺得別人腦袋有洞啊,過去那些東西是給企業端用的
03/11 19:24, 6F

03/11 19:25, 5年前 , 7F
他們有現成的工具可以快速整合,跟新創圈或新開的小公司要
03/11 19:25, 7F

03/11 19:26, 5年前 , 8F
自己手刻是不同的情境啊。試著上網查一下有沒有舊的教學
03/11 19:26, 8F

03/11 19:26, 5年前 , 9F
http://bit.ly/2SUdNaN 竟然連 esb tool 都能接 rest 了啊
03/11 19:26, 9F

03/11 19:46, 5年前 , 10F
SOAP相較REST還是有他的優勢,許多EDI的協定還是使用SOAP
03/11 19:46, 10F

03/11 21:21, 5年前 , 11F
記得那時候restful剛起來的時候
03/11 21:21, 11F

03/11 21:21, 5年前 , 12F
還有一堆老外問說soap和json要問我們系統要用哪個
03/11 21:21, 12F

03/11 21:21, 5年前 , 13F
如果用json要怎麼加簽之類的...現在都用的理所當然的
03/11 21:21, 13F

03/12 15:54, 5年前 , 14F
推這篇
03/12 15:54, 14F
※ 編輯: lion741205 (114.44.153.150), 03/13/2019 19:53:51

03/16 17:09, 5年前 , 15F
推這篇
03/16 17:09, 15F
文章代碼(AID): #1SXZvwLM (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1SXZvwLM (Soft_Job)