代码之家  ›  专栏  ›  技术社区  ›  pinkgothic sudip

非SEO反欺骗外部链接重定向:状态代码?

  •  2
  • pinkgothic sudip  · 技术社区  · 15 年前

    我读过一些关于不同http重定向状态代码优点的文档,但是这些都是非常以seo为中心的。我现在遇到了一个搜索引擎不考虑的问题,因为有问题的网站部分是不可公开查看的。

    但是,我们希望我们的网站尽可能准确/有助于元数据,特别是出于可访问性的原因。

    现在,我们的应用程序接受第三方提供的外部链接,并通过带有免责声明的反欺骗页面路由它们。由于这个重定向器页面还可以通过ajax调用有效地嵌入到某些星座中,因此我们还希望从referer中删除任何查询参数(出于隐私目的;目标站点没有发现用户以前在哪个内部页面上的业务)。

    为此,confirmation按钮触发服务器端脚本,然后重定向(而不仅仅是为用户打开页面)。

    以及为什么我们的反欺骗免责声明页面最终会触发重定向。

    问题是:

    它是否有效地改变了我使用的状态码?不典型的浏览器(如屏幕阅读器)会在意吗?如果是的话,对于这种重定向,什么是最佳实践?最具语义的声音,如果你愿意的话?在我看来,他们都有不同程度的不真诚。

    我在考虑302——但是如果把页面加上书签是没有意义的(它是用一个crsf令牌保护的),那么301可能也没有什么坏处,对吧?所以我想知道我是不是有理由更喜欢这一个。

    1 回复  |  直到 15 年前
        1
  •  3
  •   Pekka    15 年前

    隐马尔可夫模型。 Here's the list. 301听起来不错(强调我的):

    已为请求的资源分配了新的永久uri 以后对该资源的任何引用都应该使用返回的uri之一 . 具有链接编辑功能的客户端应尽可能自动将对请求uri的引用重新链接到服务器返回的一个或多个新引用。

    302不符合我的观点:

    请求的资源暂时位于不同的uri下

    不过,我最喜欢的是 303 see other :

    对请求的响应 可以在不同的uri下找到,应该使用该资源上的get方法检索 . 此方法主要用于允许后激活脚本的输出将用户代理重定向到选定的资源。新的uri不是最初请求的资源的替代引用。

    但这可能是非常罕见的(我从未见过它在野外使用),一些客户可能不理解它-这将使您的最大兼容性的愿望无意义。301可能是最接近的选择。