我需要将用户从一个页面重定向到另一页面,但是我需要维护原始的引用字符串。因此,例如,如果它们以http://www.othersite.com/pageA.jsp开头,则单击将其带到http://www.mysite.com/pageB.jsp的链接,然后执行302重定向到http://www.mysite.com/pageC.jsp,我需要引用字符串包含“ http://www.othersite.com/pageA.jsp ”
这是302重定向的正常行为吗?还是会放弃我的原始引荐来源,而推荐使用“ http://www.mysite.com/pageB.jsp ”?那是不希望的。
我不知道它是否有任何区别,但是我正在JSP中工作,并且正在使用response.sendRedirect()执行302重定向。
我应该提到我对此进行了实验,并且似乎保留了原始引荐字符串(“ http://www.othersite.com/pageA.jsp ”),但我只是想确保这是正常的默认值行为,而不是怪异的东西。
感谢您的帮助。
编辑添加:
尽管我当前使用的是302重定向,但我可能可以使用301重定向。您知道301重定向的行为是否更可靠?
简短的答案是,在Referer标头或302状态代码中,相关的RFC 2616 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.36中未指定。
最好的选择是对多个浏览器进行测试,看看是否存在共识行为。
对于完整的皮带和花括号,请在重定向URL中对原始引荐来源网址进行编码,以确保可以检索到它。