您能否在 Ajax (XHR) 调用的服务器端处理过程中可靠地设置或删除 cookie?

2024-01-12

我自己对此做了一些测试(准确地说是在 DWR 框架 Ajax 请求处理程序的服务器端处理期间),看来您可以成功地操作 cookie,但这与我在 Ajax 最佳实践中阅读的很多内容相悖浏览器如何解释来自 XmlHttpRequest 的响应。注意我已经测试过:

  • IE 6 和 7
  • 火狐 2 和 3
  • Safari

在所有情况下,浏览器都正确解释了 Ajax 请求处理期间对 HttpServletResponse 对象的标准 cookie 操作,但我想知道将 cookie 操作推送到客户端是否是最佳实践,或者这个(更干净的)服务器是否是最佳实践侧面 cookie 处理是可信的。

我欢迎针对 DWR 框架和一般 Ajax 的回答。


XMLHttpRequest 始终使用Web 浏览器的连接框架。这是 AJAX 程序正常工作的要求,因为如果 XHR 对象无法访问浏览器的 cookie 池,用户将被注销。

理论上,Web 浏览器可以在不使用浏览器连接框架的情况下简单地共享会话 cookie,但(据我所知)实践中从未发生过这种情况。甚至 Flash 插件也使用 Web 浏览器的连接。

因此,最终结果是通过 AJAX 操作 cookie 是安全的。只是记住AJAX 调用可能永远不会发生。它们不是保证会发生的事件,所以不要指望它们。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

您能否在 Ajax (XHR) 调用的服务器端处理过程中可靠地设置或删除 cookie? 的相关文章

随机推荐