我已经阅读了几个关于不同HTTP重定向状态代码的优点的文档,但那些都是以SEO为中心的。我现在遇到了搜索引擎无法考虑的问题,因为该网站的部分不可公开查看。
但是,我们希望我们的网站尽可能准确/有用的元数据,尤其是出于可访问性原因。
现在,我们的应用程序采用第三方提供的外部链接,并通过免责声明在反欺骗页面中进行路由。由于此重定向器页面也可以通过某些星座中的Ajax调用有效地嵌入,我们还希望从引用者中删除任何查询参数(出于隐私目的;目标站点没有业务查找用户之前使用的内部页面)
要执行此操作,确认按钮会触发服务器端脚本,而该脚本又会重定向(而不是仅为用户打开页面)。
为什么我们的反欺骗免责声明页面最终会触发重定向。
问题是:
它有效地区分我使用的状态代码吗?非典型浏览器(例如屏幕阅读器)是否关心?如果是这样,这种重定向的最佳做法是什么?最流行的语音,如果你愿意的话?对我来说,他们似乎都有不同程度的虚伪。
我正在考虑302 - 但是因为尝试为页面添加书签(它受crsf令牌保护)没有任何意义,所以301中也可能没有任何损害,是吗?所以我想知道我是否有理由更喜欢这个而不是另一个。
答案 0 :(得分:3)
嗯。 Here's the list. 301听起来不错(强调我的):
已为所请求的资源分配了一个新的永久URI ,以后对此资源的任何引用应该使用返回的URI之一。具有链接编辑功能的客户端应尽可能自动将对Request-URI的引用重新链接到服务器返回的一个或多个新引用。
302不符合我的意见:
请求的资源暂时驻留在不同的URI下
但是,我最喜欢的是303 see other
:
对请求的响应可以在不同的URI下找到,并且应该使用该资源上的GET方法检索。此方法主要用于允许输出POST激活的脚本以将用户代理重定向到选定的资源。新URI不是最初请求的资源的替代引用。
但这可能是如此罕见(我从未见过它在野外使用过),有些客户可能不理解它 - 这会使你对最大兼容性的渴望没有实际意义。 301可能是最接近的选择。