303 响应正文中的超链接

Posted

技术标签:

【中文标题】303 响应正文中的超链接【英文标题】:Hyperlinks in the body of a 303 response 【发布时间】:2012-08-20 17:42:05 【问题描述】:

在 POST 后进行 303 重定向时,RFC 2616 提到在响应正文中添加超链接(即 POST 的 303 响应正文,而不是后续 GET 对新创建资源的响应)。

10.3.4 303 查看其他

可以在不同的 URI 下找到对请求的响应,并且 应该在该资源上使用 GET 方法检索。这种方法 存在主要是为了允许 POST 激活脚本的输出 将用户代理重定向到选定的资源。新的 URI 不是 替换最初请求的资源的引用。 303 响应不能被缓存,但是对第二个的响应 (重定向的)请求可能是可缓存的。

不同的 URI 应该由 回复。除非请求方法是 HEAD,否则 响应应该包含一个简短的超文本注释,其中包含指向 新的 URI。

对此我有两个问题:

    是否有任何实现(浏览器或其他)使用 303 正文中的此类链接?

    如果在正文中添加链接,最合适的链接关系是什么? rel="self", rel="alternate" ?两者似乎都不完全合适。我意识到这样的事情可能没有标准的链接关系,如果是这样,那就这样吧。

【问题讨论】:

您应该添加到正文中的“超链接”是供读者阅读的,而不是供 UA 处理的。因此,您需要为此目的使用 ,而不是任何类型的 标记。 @EricLaw-MSFT-所以基本上,这不是为新资源提供任何额外的链接信息,只是作为后备显示给用户,以防他们的浏览器没有正确重定向303? 【参考方案1】:

1) 我相信所有常见的浏览器都会显示 POST->303 的响应,尽管 GET 可能并非如此(请参阅http://greenbytes.de/tech/tc/httpredirects/#t303body)

【讨论】:

大多数浏览器将在 303 if 上显示响应正文,它们没有遵循到 LOCATION 标头中指定的 URI 的重定向。在实践中,303 得到了相当广泛的支持,因此这是一种有价值的做法的情况可能非常罕见。 Eric:参见上面的测试用例——IE 似乎没有在 GET 响应中显示正文(它可能在 POST 响应中显示

以上是关于303 响应正文中的超链接的主要内容,如果未能解决你的问题,请参考以下文章

如何用LaTeX设置参考文献的超链接

添加到Outlook电子邮件正文的超链接

Outlook 附件的超链接

如何通过 IE11 解决 selenium python 中嵌套 HTML 中的超链接?

ajax 响应未在单击的超链接的父 div 中呈现

如何修改PPT中的超链接字体颜色