先来看这图
有没有发现它比普通的http多了几个东西,
Origin: http://0.0.0.0:8000
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
Sec-WebSocket-Key: zNR++QO8YYpHGGN/dyeg7A==
Sec-WebSocket-Version: 13
Upgrade: websocket
这么几个就是websocket的核心,这是在告诉服务端我这不是http请求了,遇到nginx和Apache这些之后也会告诉他们我这是WebSocket协议,你赶紧给我找。
再看:
Sec-WebSocket-Key: zNR++QO8YYpHGGN/dyeg7A==
Sec-WebSocket-Key 是一个 Base64 encode 的值,由浏览器随机生成,并且会验证服务端是不是真的websocket协议。
Sec-WebSocket-Version: 13
Sec-WebSocket-Version: 13,这是websocket的版本,服务端会要一个13岁的websocket。
Sec-WebSocket-Extensions: pe