Web API vs RESTful API vs WebSocket vs SOAP

工作久了,碰到的專案也多,接觸各式各樣的Web API 服務
有時候會想,到底哪一種比較好?
但其實並沒有哪一個比較好,只有比較適合
每一種技術會出現都是為了解決某一個問題

Web appWeb RESTful APIWebSocketSOAPgRPC
格式JSON, HTML, XML...etcJSON, HTML, XML...etcJSON..etcXMLProtobuf (small、binary)
傳輸協定HTTPHTTPTCP, TLS
雙向
HTTP, SMTP, UDP...etcHTTP/2
雙向
安全性支援 HTTPS, SSL支援 HTTPS, SSL
支援SSL, ACID 交易
高 TLS
程式撰寫難度低 (快速)
意義HTTP傳輸協定具象狀態傳輸全雙工通訊簡單對象訪問協定全雙工通訊
方法事件驅動資料驅動事件驅動功能驅動事件驅動
適合產業移動服務, 社交網路, 公共API移動服務, 社交網路, 公共API資訊交換, 通訊軟體, 高頻交易, 證券服務企業, 高安全性系統, 金融服務, 支付關網, 電信服務微服務, 點對點即時通訊, 網路受限的環境
耦合性
特點頻寬小
支援快取
支援瀏覽器
無狀態
不用貫徹RESTful精神
頻寬小
支援快取
支援瀏覽器
無狀態
讓客戶端與伺服器端之間交換變簡單使用頻寬大
預設無狀態(SOAP API有狀態)
精簡且有效率
傳輸量很小

除了以上的Web API,當然還有比較舊的HTTP Handler”.ashx”、Web Service、etc…
但有時候在趕專案時候,RESTful有時候會稍微綁手綁腳 XD”

資料也許有誤,歡迎提出討論

參考文獻
https://raygun.com/blog/soap-vs-rest-vs-json
訂閱
通知
guest
0 留言
預約回饋
查看所有留言