为什么我要使用websockets?
我正在通过WebSocket路由我所有的HTTPS请求,因为我的应用程序有一个聊天功能,我需要在应用程序运行时保持WebSocket打开,那么为什么不直接通过它路由所有请求呢?
我的问题,
事实证明,这样做更容易。是否应该使用相同的访问令牌&刷新令牌来验证客户端身份验证。或者应该在连接打开时验证它,然后只要它打开就可以信任它。以下是我的问题:
wss( WebSocket secure)足以阻止处于attacks?
发布于 2021-05-11 04:51:12
,或者我应该在连接打开时验证它,然后只要它打开就可以信任它。
只要连接是通过受信任的通道(例如ssl/tls ),就可以这样做。
。
是。Wss只是ssl/tls上的ws。
。
我不知道你为什么要这么做。相反,与聊天一样的应用程序,你希望保持连接打开尽可能长。虽然我建议在客户端实现ping调用,在服务器端实现超时。使用这种方法,您可以要求客户端每隔30分钟执行一次操作。
不必了。使用ssl/tls,您可以对整个连接进行一次身份验证,只需记住在经过身份验证的服务器端。令牌与传统的HTTP一起使用,因为水平扩展这样的应用程序更容易,例如,连接到哪个服务器并不重要,您甚至可以在调用之间切换服务器,这不会影响auth。但是对于类似聊天的应用程序(或任何需要双向通信的应用程序),连接必须是持久的,因此令牌会带来不必要的开销。
我不知道你这么说是什么意思。这正是tcp + ssl/tls所保证的。安全tcp上的任何其他协议都是一样的。或者你的意思是在应用程序级别?那么,一旦经过身份验证,您就必须匹配具有相应连接的用户。服务器必须跟踪这个。
什么问题?E2E加密的用途非常不同:它保证您,即.a。服务器无法读取消息。它保护高度的隐私,甚至连服务器也不能读取消息,只有对等服务器。因此,这是一个商业决策,而不是技术或安全决策。你想完全控制谈话吗?那么很明显,你不能和E2E一起去。另一方面,如果您想给您的用户提供最高级别的隐私,那么这是一种很好(如果不是强制性的)方法。请注意,与非E2E相比,功能齐全的E2E本质上更难实现。
我需要在应用程序运行时保持WebSocket打开,那么为什么不直接路由所有请求通过它呢?
这是一个有趣的方法。我自己也在考虑这么做(而且很可能会尝试一下)。其优点是整个通信通过单一的协议,这更容易调试。另一个优点是,有了适当的协议,您可以获得更高的性能。缺点是传统的HTTP是很好的理解,有很多的工具和子协议(例如REST)覆盖它。安全性、二进制流(例如文件服务)等通常是不受限制地管理的。所以感觉有点像重新发明轮子。不管怎样,我祝你好运,希望你能回到我们身边,告诉我们事情进展如何。
https://stackoverflow.com/questions/67487034
复制相似问题