http - 支持简单 HTTP 和 Websocket 的服务器上的用户身份验证
问题描述
用户可以通过简单的 HTTP 或 Websocket 连接到服务器。
当 HTTP 会话过期时,Websocket 会话会发生什么?当 Websocket 会话关闭时,HTTP 会话会发生什么?
如何在支持这两种协议的服务器上处理用户身份验证?
解决方案
一般来说,通常只有一个会话 cookie - HTTP 会话。
由于 WebSocket 连接以 HTTP 开始,因此连接通常在 HTTP 阶段进行身份验证,并且只有在身份验证成功后才升级到 WebSocket...
...这取决于应用程序的设计,但情况往往如此。
如果在建立 WebSocket 连接后会话无效,则连接将(通常)保持打开状态并经过身份验证(因为大多数应用程序在连接建立后不会重复身份验证阶段)。
推荐阅读
- c# - 跨线程操作无效:控件“地址栏”是从创建它的线程以外的线程访问的
- javascript - 将 onclick 按钮添加到 textarea 中的 onkeyup 函数
- javascript - 反应 useFetch 钩子 + onclick / 事件
- javascript - 当我通过 jQuery 中的克隆方法创建一个新按钮时,如何触发删除按钮?
- static-methods - Unittest mock.patch.object(autospec = True)因静态方法而损坏?
- reactjs - html2canvas 不拍摄视频标签屏幕截图
- excel - 使用单元格引用导出 XLS 文件
- reactjs - 反应 /redux 应用程序 - 添加到购物车按钮不起作用 - 单击 TypeError 时:显示
- javascript - React.js 在所属输入字段旁边显示错误消息
- embedded - 在不同的 STM32F3/F4 MCU 上使用相同的代码