我们开始开发客户端/浏览器和FE服务器之间的推送解决方案- FE服务器是用java编写的。我现在正在学习这一领域,并了解到目前使用的4种主要技术,可以在下面看到:What are Long-Polling, Websockets, Server-Sent Events (SSE) and Comet?
我正在努力深入了解SSE和web套接字技术,但当涉及到websockets时,我发现自己很困惑。
在许多文章中,我可以找到解释为什么web套接字是我真正应该考虑的技术,如果我正在寻找实时,双向通信,但在另一端,我看到websockets和代理服务器和安全性的问题。我找到的关于它的最后一篇文章是2010年的- http://www.infoq.com/articles/Web-Sockets-Proxy-Servers
但我猜从2010年起事情已经发生了变化--有没有人能告诉我这些问题的最新解决方案?指出我应该注意的其他事情?
发布于 2015-09-24 22:27:30
真的不是很多。
一些传统代理仍然不知道WebSockets连接。它们删除HTTP头(因为它在Connection中指明),导致Upgrade协商失败(或者只获取HTTP200而不是HTTP101)。其他代理尝试缓存响应并将其重用于其他客户端,这在WebSockets中毫无意义(当响应具有错误的sec-websocket-accept标头的值时,客户端将注意到问题)。
代理无处不在,由您的ISP或您的客户ISP放置,您无法避免它们。
解决方案是始终使用wss://。这样代理就不是问题了。
https://stackoverflow.com/questions/32758780
复制相似问题