連線建立在手機端,瀏覽器只是鏡像
WhatsApp網頁版本質上不是一個獨立運作的應用程式,而是手機端應用的一個「鏡像客戶端」。當你用手機掃描網頁上的 QR Code 時,手機並不會把訊息資料庫上傳到瀏覽器,而是建立一條經過端對端加密的 WebSocket 通道。手機扮演中繼與金鑰保管者的角色,所有訊息的加解密都在手機端完成,瀏覽器只負責顯示與輸入。這意味著手機必須保持連線(通常需開啟網路),否則網頁版會在一段時間後顯示「手機未連線」。
具體流程如下:
- 瀏覽器向 WhatsApp 伺服器請求一組一次性 QR Code(內含公鑰與 session 識別碼)。
- 手機掃描後,以自身的身分金鑰對該 session 進行簽署,並將簽署結果回傳伺服器。
- 伺服器驗證簽署後,通知瀏覽器連線已授權,雙方開始透過伺服器轉發加密訊息。
整個過程中,訊息內容不會以明文經過伺服器,伺服器只負責路由。這也是為什麼 WhatsApp 官方強調網頁版同樣享有端對端加密。
Session 的生命週期與裝置限制
每次掃碼建立的連線稱為一個「Web session」。WhatsApp 目前允許同時最多 4 個已連結裝置(包含手機本身、網頁版、桌面版與 Portal)。當你連結第 5 個裝置時,最早連結的網頁 session 會被強制登出。實務上,多數使用者會在公司的桌機與家裡的筆電各開一個 session,這時還有 2 個額度可用。
Session 的存活時間取決於手機的狀態:
- 手機關機或飛航模式超過約 14 天,網頁 session 通常會失效,需要重新掃碼。
- 在手機的「已連結裝置」清單中手動登出某個 session,該瀏覽器會立即斷線。
- 瀏覽器清除 cookie 或使用無痕模式關閉視窗後,session 即終止,下次需重新掃碼。
開發者若要在受控環境中維持長時間連線,建議不要使用無痕模式,並避免在瀏覽器設定中封鎖第三方儲存空間,否則 session 無法持久化。
瀏覽器相容性與網路需求
WhatsApp網頁版依賴 WebSocket、IndexedDB 與 Service Worker 等現代瀏覽器 API。實測中,Chrome 80 以上、Edge 80 以上、Firefox 78 以上與 Safari 14 以上多數情況可正常運作。較舊的瀏覽器可能出現 QR Code 無法載入或訊息延遲送出的問題。
網路方面,由於訊息需經手機中繼,手機與瀏覽器兩端都需具備穩定的上行連線。若公司防火牆封鎖 WebSocket(常見於連接埠 443 以外的流量),連線會停在「正在連線」狀態。此時可請網管確認是否允許 web.whatsapp.com 的 WebSocket 升級請求。另外,企業 VPN 若強制代理所有流量,也可能造成 QR Code 反覆刷新,建議將網頁版加入代理例外清單。
與手機版的功能差異
雖然網頁版能收發訊息與檔案,但仍有幾項功能僅限手機端操作:
| 功能 | 手機版 | 網頁版 |
|---|---|---|
| 建立新群組 | 支援 | 不支援(需在手機端建立) |
| 廣播列表 | 支援 | 不支援 |
| 動態(Status)發佈 | 支援 | 僅能檢視 |
| 通話 | 語音與視訊 | 不支援 |
| 檔案傳輸 | 上限 2 GB | 上限 2 GB(多數情況) |
若工作需要大量建立群組或發佈動態,仍須回到手機端處理。網頁版適合做為長時間的文字回覆與檔案收發介面。