1、WebSockets概述
传统的HTTP协议只允许每个TCP连接一个请求/响应,这是一个半双工的交互模式。HTML5 WebSockets允许客户端/服务器建立一个 “全双工” 通信通道,从而允许客户端和服务器真正实现异步通信。WebSocket通过HTTP进行初始的 “升级” 握手,从那时起,所有通信都通过TCP通道并使用frames。
源
服务器负责验证在初始的HTTP WebSocket握手中的源标头,如果服务器不对此进行验证,那么WebSocket的服务器可以接受来自任何源的连接。这可能允许攻击者与WebSocket服务器进行跨域通信。
保密性和完整性
WebSocket可以用在通过未加密的TCP或加密的TLS。使用未加密的WebSockets方案:ws://URI
(默认端口80),使用加密(TLS)的WebSockets方案:wss://URI
(默认端口443)。
认证
WebSockets不处理身份认证,而是使用常规的应用程序的身份验证机制,例如cookies,HTTP身份验证或TLS身份验证。
授权
WebSocket不处