API Academy
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
HomePetstore APIExplore more APIs
HomePetstore APIExplore more APIs
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
  1. Advanced API Technologies
  • 歡迎
  • 目錄
  • API 學院
    • Get Started
      • 什麼是 API?
      • API 如何運作?
      • 如何呼叫 API?
      • 如何閱讀 API 文件?
      • 章節總結
    • API Fundamentals
      • API 基礎知識:概覽
      • 方法與路徑
      • 參數
      • 請求 Body
      • 回應
      • API 規格與 OAS
      • 章節總結
    • Working with APIs
      • 使用 API:概覽
      • 根據規格發送請求
      • 環境與變數
      • 串聯多個端點
      • 處理 Auth
      • 處理 API 簽名
      • 腳本介紹
      • 章節總結
    • Mocking APIs
      • Mocking API:概覽
      • Smart Mock
      • Mock 預期結果
      • Cloud Mock
      • Mock 腳本
      • 章節總結
    • Designing APIs
      • 設計 API:概覽
      • API 設計介紹
      • 建立您的第一個 API 專案
      • 分析需求並規劃您的 API
      • 設計資料模型
      • 設計端點
      • 使用組件與可重用性
      • 設定與 Auth
      • API 設計指南
      • 章節總結
    • Developing APIs
      • 開發 API:概覽
      • 設定:安裝您的 AI 程式碼助手
      • 快速入門:30 分鐘內從規格到運行的 API
      • 了解生成的程式碼
      • 使用 Apidog 測試您的 API
      • 部署:將您的 API 上線
      • 章節總結
    • Testing APIs
      • 測試 API:概覽
      • 快速入門:您的第一個測試場景
      • 整合測試與資料傳遞
      • 動態值
      • 斷言與驗證
      • 流程控制:If, For, ForEach
      • 資料驅動測試
      • 性能測試
      • 測試報告與分析
      • CI/CD 整合
      • 排程任務與自動化
      • 進階測試策略
      • 章節總結
    • API Documentations
      • API 文件:概覽
      • 發布您的第一個 API 文件
      • 自訂文件外觀
      • 給消費者的互動功能
      • 進階發布設定
      • 管理 API 版本
      • 章節總結
    • Advanced API Technologies
      • 進階 API 技術:概覽
      • GraphQL
      • gRPC
      • WebSocket
      • Socket.IO
      • Server-Sent Events
      • SOAP
      • 章節總結
    • API Lifecycle
      • API 生命周期:概覽
      • API 生命周期的階段
      • API 治理
      • API 安全最佳實踐
      • 監控與分析
      • API 版本策略
      • API 的未來
      • 章節總結
    • API Security
      • API 安全性:概覽
      • API 安全性基礎知識
      • 身份驗證 vs. 授權
      • 了解 OAuth 2.0 和 OpenID Connect
      • JSON Web Tokens (JWT)
      • OWASP API 安全 Top 10
      • 加密與 HTTPS
      • 章節總結
    • API Tools
      • API 工具:概覽
      • API 工具的演變
      • API Clients
      • 命令列工具 (cURL, HTTPie)
      • API 設計和文件工具
      • API Mocking 工具
      • API 測試工具
      • 一體化 API 平台
      • 章節總結
    • API Gateway
      • API Gateway:概覽
      • 什麼是 API Gateway?
      • API Gateway 的關鍵功能
      • API Gateway vs 負載平衡器 vs 服務網格
      • 流行 API Gateway 解決方案
      • BFF (Backend for Frontend) 模式
      • 章節總結
HomePetstore APIExplore more APIs
HomePetstore APIExplore more APIs
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
  1. Advanced API Technologies

WebSocket

WebSocket 是一種獨特的電腦通訊協定,透過單一 TCP 連線提供全雙工 (full-duplex) 通訊通道。
與 HTTP 的請求-回應(客戶端詢問,伺服器回答)不同,WebSocket 允許客戶端和伺服器隨時發送資料。這種持久性使其成為聊天應用、即時遊戲和交易平台等即時應用程式的標準。

運作原理(握手 Handshake)#

WebSocket 以標準 HTTP 請求開始。客戶端請求「升級 (Upgrade)」連線:
客戶端請求:
伺服器回應 (101 Switching Protocols):
一旦這個握手完成,HTTP 連線就會被 WebSocket 連線取代,並無限期保持開啟。

程式碼範例:JavaScript Client#

現代瀏覽器內建了 WebSocket 支援:

比較:HTTP vs. WebSocket#

功能HTTPWebSocket
連線短暫 (請求/回應)持久 (Keep-alive)
方向半雙工 (客戶端啟動)全雙工 (雙向)
負擔高 (每個請求都有 Headers)低 (僅起初有 Headers)
延遲較高 (連線時間)最低 (始終連線)

在 Apidog 中除錯 WebSocket#

除錯持久連線需要與標準 HTTP 請求不同的介面。

1. 建立連線#

1.
在 Apidog 中建立一個 New WebSocket API。
2.
輸入 URL(以 ws:// 或 wss:// 開頭)。
3.
點擊 Connect。
Apidog 將執行握手並顯示「Connected」狀態。

2. 發送和接收訊息#

訊息類型:您可以發送文字 (JSON, String) 或二進位內容。
訊息串流:所有發送和接收的訊息都會顯示在依時間排序的時間軸檢視中。
格式化:使用內部 JSON 格式化工具使複雜的訊息負載易於閱讀。

3. 處理變數#

您可以在以下位置使用 Apidog 變數(例如 {{token}}):
握手 URL。
握手 Headers / Params。
您儲存以供重複使用的範例訊息。
查看詳情 WebSocket

關鍵收穫#

全雙工:WebSocket 透過單一持久連線在客戶端和伺服器之間啟用即時、雙向通訊。
低延遲:一旦建立,交換資料訊框無需重複 HTTP Headers 的負擔。
有狀態 (Stateful):與無狀態的 REST 不同,伺服器知道誰已連線,使其非常適合聊天應用和遊戲。
時間軸除錯:Apidog 提供即時時間軸檢視,以依時間順序追蹤發送和接收的訊息。
繼續閱讀 → Socket.IO
Modified at 2025-12-29 09:35:19
Previous
gRPC
Next
Socket.IO
Built with