【发布时间】:2010-09-21 23:25:43
【问题描述】:
我正在自动化一个 Web 应用程序(Mantis 错误跟踪器),我从中得到了一个有趣的响应标头,称为 Refresh:
HTTP/1.x 200 OK
...
Refresh: 0;url=my_view_page.php
它的行为方式似乎与meta refresh 相同,并且元刷新技术意味着它相当于 HTTP 中的标头。
问题是,我在HTTP standard 或任何其他关于如何解析它以及浏览器遇到它时应该做什么的权威文档中找不到任何提及。
这是怎么回事?
【问题讨论】:
-
我想知道的是为什么脚本会发送
Refresh标头字段,而它可能会使用 302 响应。 -
我不知道,这就是 Mantis 所做的,可能是当它在 PHP over ASP.NET 上运行时,这是我的客户所拥有的一种奇怪的组合。
-
注意:出于性能原因,应避免使用此标头。见blogs.msdn.com/b/ieinternals/archive/2010/05/13/…
-
@EricLaw 次要更正:如果使用延迟为 0 的刷新标头或元标记,由于您指定的原因,几乎总是应该使用 301 或 302 重定向;但是,在极少数情况下使用它确实有意义,例如存在非零延迟并且页面上要显示有意义的内容(例如,在返回之前向用户显示成功或错误消息)形式,例如)。
-
当用户点击非 FB 链接时,即使 facebook 也会使用它。看起来真的很烦人,因为它还会在刷新时删除 hashbangs。
标签: http http-headers