開發者具備處理實時通訊(Real-time Communication)、物聯網(IoT)以及資料傳輸安全的能力。這與傳統的 HTTP 請求不同,更強調長連接與雙向數據傳輸。
以下是這三項技術的詳細說明:
1. MQTT (Message Queuing Telemetry Transport)
MQTT 是一種輕量級的發布/訂閱(Publish/Subscribe)傳輸協定,專為低頻寬、不穩定網路環境下的遠端裝置設計。
核心機制:
Broker(代理伺服器):負責接收所有訊息並分發給訂閱者。
Topic(主題):訊息的標籤(例如:
home/living-room/temperature)。
應用場景:
物聯網 (IoT):感測器回傳數據、遠端控制智慧家電。
即時推播:如手機 App 的通知推送。
開發重點:需理解 QoS(服務質量)等級(0, 1, 2)的差異,以及如何處理斷線重連。
2. Certificates (數位證書與加密)
這涉及到網路傳輸的安全性,確保資料在傳輸過程中不被竊聽或竄改(如 HTTPS、MQTTS)。
核心技術:
SSL/TLS:用於建立加密連結。
Public/Private Key (公鑰與私鑰):非對稱加密的基礎。
CA (Certificate Authority):數位證書認證機構。
在後端的角色:
HTTPS 設置:在伺服器端配置證書。
雙向認證 (mTLS):在高度安全的場景(如銀行或設備對設備通訊),伺服器與客戶端雙方都需要提供證書。
維護重點:證書的更新機制(避免過期導致服務中斷)與密鑰的安全管理。
3. WebRTC (Web Real-Time Communication)
WebRTC 是一個支援網頁瀏覽器或行動 App 進行即時影音串流或點對點 (P2P) 資料傳輸的技術。
核心特點:
低延遲:直接在兩台裝置間傳輸,不經過中間伺服器轉發(除非遇到防火牆)。
多媒體支持:內建影音編解碼功能。
後端職責:
Signaling Server (信令伺服器):交換通訊所需的連線資訊(SDP 與 ICE Candidates)。
STUN/TURN 伺服器:協助穿透 NAT 防火牆。
應用場景:視訊會議(如 Google Meet)、網頁版即時通訊、串流遊戲。
技術對比總結
| 協議/技術 | 傳輸特性 | 主要用途 | 核心關鍵字 |
| MQTT | 非同步、發布/訂閱 | IoT、輕量訊息傳輸 | Broker, Topic, QoS |
| Certificates | 加密、驗證 | 傳輸安全、身分認證 | TLS, OpenSSL, mTLS |
| WebRTC | 即時、點對點 (P2P) | 視訊語音、低延遲數據 | ICE, STUN, TURN |
這三者通常會出現在**「智慧系統」或「通訊平台」**的職缺中。例如:一個監控系統會使用 MQTT 傳送警報,使用 WebRTC 觀看即時影像,並全程透過 Certificates 確保傳輸安全。
您目前的專案是否有特定的通訊需求(例如要串接硬體設備,或是製作聊天系統)?我可以為您深入解說特定部分。
沒有留言:
張貼留言