这是唯一标识从Ajax到Servlet请求的客户机状态的最佳选择
Which is the best option for uniquely identifying a client state from Ajax to Servlet request?
我在后台使用java servlet制作一个在线多人象棋游戏。在前端我使用JavaScript, Ajax, Html。Client'Player请求通过ajax请求发送到servlet控制器。现在,我想知道处理客户机请求'state的最佳选项是什么。我不想用饼干。我知道URL重写是管理客户端会话的一个选项。除了这些,管理客户端会话的其他有效方法是什么?HttpSession对象是唯一标识客户端会话的好选择吗?
HttpSession反过来使用cookie来识别会话(JSESSIONID),它将在会话创建时自动设置
如果你真的不想使用cookie,那么选择基于令牌的身份验证,网上有很多教程,但它需要更多的令牌管理工作。这是现在广泛使用的
更新快速搜索基于令牌的身份验证在谷歌给出这个,
https://auth0.com/blog/2014/01/07/angularjs-authentication-with-cookies-vs-token/http://arjan-tijms.omnifaces.org/2014/11/header-based-stateless-token.html http://www.javabydefault.com/2014/11/implementing-token-based-authentication.html是使用sessionId将是一个不错的选择,您可以使用以下代码session.getId()
如果您不关心安全性,则无需担心'身份验证'机制。
例如,如果您只是想区分两个客户端,您可以简单地在每个请求中添加一个额外的参数,如clientId。
可以这样操作:
- 在javascript中创建一个全局变量,如
- 在每次请求时,将此作为额外参数发送
- 当"globalClientId"为"
null
"时,生成16位随机数和存储它(这将只在每个页面第一次执行)
globalClientId =
null;
然而,与cookie相比,这种方法的一些缺点是:
- 只适用于一个选项卡
- 关闭该选项卡将丢失
相关文章:
- 如何在服务器 ASP.NET 上请求客户端 Cookie
- 从API请求(客户端)获取输出
- 是否可以用javascript记录HTTP请求客户端
- 在nowjs中区分两个客户机
- 客户机JSP页面上同步服务器时间的问题
- 如何将变量从客户机传递到服务器,并将其持久化在服务器中用于其他功能
- Browserify—使用fs将文件从服务器加载到客户机
- 套接字.io祝辞简单的服务器到客户机消息
- GAPI客户机404错误
- 如何获取页面加载事件时服务器上的客户机机器时间
- Lotus notes客户机链接和xpages中的浏览器链接用于下载存储在服务器目录中的文件
- 如何使用Web应用程序作为客户机对SAML依赖方进行身份验证
- 如果我使用客户端javascript获取一个站点,该站点将看到什么作为请求ip?我的服务器或客户机's
- 使用serialport在Node.JS中一个接一个地执行多个客户机请求
- 客户机潜在的XSS没有经过适当的清理或验证
- 使用Javascript实现API rest客户机在添加授权标头时返回404
- 如何通过servlet从客户机保存整个表单?
- 用AJAX请求从客户机终止用c++编写的长时间运行的CGI脚本
- 这是唯一标识从Ajax到Servlet请求的客户机状态的最佳选择
- 从一个客户机向PHP发出多个AJAX请求