栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

调用客户端重定向后,会话属性丢失

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

调用客户端重定向后,会话属性丢失

在服务器端

HTTP请求是无状态的,会话通过不同的方式位于HTTP之上

  • URL重写 (例如,服务器开始新的会话并将其ID返回给客户端,然后客户端将会话ID附加到所有后续请求中
    http://host:port/path;session_id=12345
  • cookie (例如,在创建会话时,服务器以cookie编码的会话ID进行响应,并且在服务器端,您希望该cookie将每个请求与现有会话相关联)。

客户有责任通过服务器期望的方式确保他们参与会话。使用Java Servlet API实现服务器时,它是 jsessionid
cookie或URL后面带有相同名称的查询参数,用于标识会话ID。

如果客户端不支持cookie,则必须使用Java Servlet API重定向到所创建的URL

HttpServletResponse.enpreRedirectURL(String url)

为了从servlet重定向,请使用

HttpServletResponse.sendRedirect(String url);

使用标准的HTTP重定向响应服务器将简化您的设计。 jQuery
确实实现了这些标准,因此将遵循此处说明的来自服务器的 HTTP 301302响应,因此客户端上不需要重定向逻辑。


在客户端

您的客户端是 jquery ,当后续对同一域发出请求时,其ajax实现将尊重并重播为任何给定域设置的cookie。

如果您要重定向到其他域,则要让 jqueryCORS 会话一起使用,请添加

xhrFields
到您的请求中:

$.ajax({    url: a_cross_domain_url,    xhrFields: {      withCredentials: true    }});


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/466750.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号