Re: [請益] 所以,到底什麼是RESTful API?
要了解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
03/11 19:18, 1F
→
03/11 19:18,
5年前
, 2F
03/11 19:18, 2F
→
03/11 19:19,
5年前
, 3F
03/11 19:19, 3F
→
03/11 19:19,
5年前
, 4F
03/11 19:19, 4F
了解歷史演進 才能知其所以然
→
03/11 19:20,
5年前
, 5F
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
03/11 19:26, 9F
推
03/11 19:46,
5年前
, 10F
03/11 19:46, 10F
推
03/11 21:21,
5年前
, 11F
03/11 21:21, 11F
→
03/11 21:21,
5年前
, 12F
03/11 21:21, 12F
→
03/11 21:21,
5年前
, 13F
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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 8 篇):