Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security HTTP上的WS与HTTPS上的WSS_Security_Http_Https_Websocket - Fatal编程技术网

Security HTTP上的WS与HTTPS上的WSS

Security HTTP上的WS与HTTPS上的WSS,security,http,https,websocket,Security,Http,Https,Websocket,我读到WS只在HTTP上工作,WSS在HTTP和HTTPS上都工作。WSS(安全Web套接字)连接在HTTP服务器上是否与在HTTPS服务器上一样安全?如果网站/服务器未加密,Web套接字安全(WSS)连接是否仍通过TLS/SSL加密 如果网站/服务器未加密,web套接字安全(wss)连接是否仍通过TLS/SSL加密 对 wss(安全Web套接字)连接在http服务器上是否与在https服务器上一样安全 是(见上文)。有一点需要注意:如果打开安全WebSocket连接的HTML/JavaScri

我读到WS只在HTTP上工作,WSS在HTTP和HTTPS上都工作。WSS(安全Web套接字)连接在HTTP服务器上是否与在HTTPS服务器上一样安全?如果网站/服务器未加密,Web套接字安全(WSS)连接是否仍通过TLS/SSL加密

如果网站/服务器未加密,web套接字安全(wss)连接是否仍通过TLS/SSL加密

wss(安全Web套接字)连接在http服务器上是否与在https服务器上一样安全

是(见上文)。有一点需要注意:如果打开安全WebSocket连接的HTML/JavaScript来自非安全HTTP,WebSocket连接仍然是安全的,但是攻击者可能会在从Web服务器发送到浏览器时修改HTML/JavaScript。HTTP连接不受中间人嗅探或修改的保护。

“wss同时在HTTP和https上工作”???这是一个奇怪的短语

wss
之所以安全,只是因为它意味着“https上的WebSocket协议”。WebSocket协议本身不安全。没有安全的WebSocket协议,但只有“http上的WebSocket协议”和“https上的WebSocket协议”。另见

作为(WebSocket client library for Java)的作者,我也怀疑oberstet回答中的短语“如果打开安全WebSocket连接的HTML/JavaScript来自非安全HTTP,那么WebSocket连接仍然是安全的”


阅读(WebSocket协议)以获得正确答案。要成为一名真正的工程师,不要避免阅读RFC。只有在技术博客和StackOverflow中搜索答案永远不会让您找到正确的位置。

如果未部署HTTPS,请在没有HTTPS的普通http上尝试sws-secure websocket


“我知道wss同时在http和https上工作”嗯?也许我应该说“我已经读过了”而不是“我知道”?David的意思是你读到的信息“wss同时在http和https上工作”是错误的。请参阅我的答案。因此,如果连接是http,则WebSocket必须是“ws”,如果连接是https,则WebSocket必须是“wss”?t和中间人攻击怀疑纯TCP连接(非TLS)。您的第一个答案有参考资料吗?RFC6455指定wss运行安全。宿主环境(浏览器或其他)并不重要。您还可以查看线路转储以确认浏览器是否存在问题。非TLS连接会受到TLS连接未受到的各种攻击。因此,不,非TLS连接不只是像TLS连接那样安全。这里似乎有很多混淆;)重点是,对于浏览器,有两个连接:a)通过HTTP或HTTPS获取HTML和JS文件的连接,b)实际的WebSocket连接,它仅以HTTP或HTTPS连接启动。现在,您可以通过HTTP完成a),而通过升级到WSS的HTTPS完成b)。但您不能让a)通过HTTPS,然后b)通过HTTP,而不是升级到WSS,而是使用普通WS。这对于浏览器WebSocket客户端是明确禁止的(并且浏览器强制执行)。非浏览器WebSocket客户端甚至没有一个HTML页面,由浏览器通过HTTP(非HTTPS)加载,其中包含JavaScript,可以同时打开非安全(ws)和安全(wss)。通过HTTPS加载的HTML页面只能打开wss连接(而不是ws连接)。你不必相信我:试试看。你所说的只有在web服务器也监听https的情况下才会起作用。大多数答案令人困惑,听起来好像wss可以通过http连接实现,就像在普通tcp/ws连接上建立wss特定的tls一样。