最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

第十八章-聊天室開頭的閒聊(三)-websocket交握協定

XAMPP下载 admin 590浏览 0评论
 websocket 是獨立的、建立在 TCP 上的協定。
建立Websocket連線,需要通過瀏覽器發出請求,之後伺服器進行回應,
這個過程稱「交握」(handshaking)也是人稱的握手喔~

websocket 握手的典型格式如下(取自維基)

用戶端請求
GET / HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: example.com

Origin: http://example.com

Sec-WebSocket-Key: sN9cRrP/n9NdMgdcy2VJFQ==
Sec-WebSocket-Version: 13

伺服器回應
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: fFBooB7FAkLlXgRSz0BT3v4hq5s=
Sec-WebSocket-Location: ws://example.com

/

可以先記一下,因為之後實做的時候就可以看到這個握手格式的使用~
下面也是維基裡我覺得很重要的部分,
因為在實做都會看到這些應用,
包括用SHA1加密後再轉成base64編碼等等

(1)Connection必須設定Upgrade,表示用戶端希望連線升級。
(2)Upgrade欄位必須設定Websocket,表示希望升級到Websocket協定。
(3)Sec-WebSocket-Key是隨機的字串,伺服器端會用這些資料來構造出一個SHA-1的資訊摘要。把「Sec-WebSocket-Key」加上一個特殊字串「258EAFA5-E914-47DA-95CA-C5AB0DC85B11」,然後計算SHA-1摘要,之後進行BASE-64編碼,將結果做為「Sec-WebSocket-Accept」頭的值,返回給用戶端。這些操作,可以儘量避免普通HTTP請求被誤認為Websocket協定。

這三個是比較需要注意的地方,
今天是分享一些我在研究讀時的一些小資訊,
我們下次見~

转载请注明:XAMPP中文组官网 » 第十八章-聊天室開頭的閒聊(三)-websocket交握協定

您必须 登录 才能发表评论!