假设一个100%安全的websocket站点,其中webserver服务所有文件:html,js,css等,websocket服务于客户端和服务器之间的所有数据。
显然,最初的ssl握手是在默认的https端口上的客户端和Web服务器之间,但是wss将在不同的端口上,所以它是否必须再次握手?
我问的原因是因为websockets& spdy还没有合作(所以我已经读过了),所以我希望通过在网络服务器上使用spdy并依靠keep-alive来解决这个问题,因为有些人声称spdy不是很快(如果在所有)比握手后{ - 3}}保持活着。
答案 0 :(得分:1)
没有。 SSL协议确定客户端和服务器如何协商要使用的密码套件,相互验证,传输证书,建立会话密钥和传输消息。握手成功完成后,流经新SSL会话的所有数据都是受握手期间同意的加密算法和会话密钥保护。
答案 1 :(得分:1)
虽然特拉维斯所说的大多数事实都是真实的,但我不明白为什么他回答说#34;没有"你的问题。
当客户端打开与Web服务器的HTTPS连接时,Web服务器可以提供JS,使用wss://启动WebSocket连接到不同的源(可能是同一主机,但如您所述,它是一个不同的端口)。这是一个不同的连接。必须为每个连接单独执行SSL握手。
Travis所说的对于SSL会话是正确的,如果WebSocket使用与https://文档提取相同的连接,那么回答" no"是正确的。但由于wss:// WebSocket连接启动将使用不同的连接,因此需要另一次SSL握手。