RESTful API, 看起來幾乎就是 WebSockets 的原始版本..除了 WebSockets 現在的瀏覽器兼容性是問題, 需要 Socket.IO 來彌補外,WebSockets 本身是否合適用來搭建 API 服務的, 用來提供第三方的 API? WebSockets 沒有跨域限制, 同時適合頻繁請求時見效帶寬浪費,發送字符串又對 JSON 和不好數據格式支持良好,
2 回答

瀟瀟雨雨
TA貢獻1833條經驗 獲得超4個贊
如果是我來設計api的話,我不太會考慮WebSocket,理由如下:
WebSocket主要還是用來支持 長連接 服務的,api一般則是短連接居多,業務模式上不太適合
WebSocket的client端開發和調試難度明顯大于普通的HTTP。現在所有基于HTTP的api都可以比較方便的用curl直接在命令行調試,WebSocket就不可能有這樣的便利了。再加上你還要考慮瀏覽器兼容性,這說明你還是要提供一套基于傳統HTTP的api,所以不如只提供HTTP的好了
WebSocket也有跨域問題,且各種細節與普通HTTP跨域幾乎一樣
流量方面WebSocket也不一定省,這就看client連接server的頻率了,畢竟WebSocket握手還是挺復雜的。至于傳輸的內容如果要省,那就是純粹由業務來控制了,理論上你也可以對傳輸內容進行壓縮的,不過一般沒人這么做,因為這勢必會提高使用者調試api的難度。
WebSocket自身性能如何我不確定,我雖然用過,但沒有把它和其他類似技術進行橫向比較,這個我就不瞎說了。

慕尼黑8549860
TA貢獻1818條經驗 獲得超11個贊
RESTful本身只是一個架構或者模式,它一般建立在http之上的吧。
api使用協議的權衡點在于:保持連接與創建連接,哪個代價更低就選擇哪個。
- 2 回答
- 0 關注
- 530 瀏覽
添加回答
舉報
0/150
提交
取消