替代“Referer”标题

我使用了代码“request.getHeader(”Referer“);” 代码似乎工作正常。 但最近我发现它不能在IE中运行。 IE投掷无效。 我现在对如何前进感到无能为力。 有没有“Referer”标题的替代品可以获得以前的链接并在所有浏览器中正常工作? 从上一个链接设置自定义标题对我来说不是一个可行的选择。 所以有人请帮我解决这个问题。 谢谢。

“Referer”标头条目是可选的。 你不能依赖它存在。 没有跨浏览器方式来获取上一个链接,因为这取决于用户设置和代理配置(即系统管理员认为他们应该允许您查看的内容)。

你必须找到一种没有这些信息的生活方式。

目前还不清楚你需要它,但我怀疑你需要它能够在一些动作完成时回到同一网站的某个“初始页面”。 然后,您最好的选择是将请求URI作为请求参数传递。 例如登录链接:

login 

在登录表单中,将其保留为下一个请求作为表单的隐藏输入值:

  

在登录操作方法中,只需在完成操作后重定向到该URL。

 response.sendRedirect(request.getParameter("from")); 

如果这不是您正在寻找的,那么您应该更详细地阐述您的问题,以询问如何实现function需求,而不是询问如何实现(错误)解决方案。

从一开始就依赖于引用者的任何业务逻辑流程都是一个坏主意。 您的第一个web开发人员课程应该是:最终用户可以完全控制他/她使用HTTP请求发送的内容。 您不应该依赖所有存在的信息,更不用说100%正确。