【发布时间】:2011-01-18 04:30:58
【问题描述】:
众所周知,URL 片段(# 之后的部分)不会发送到服务器。
我确实想知道当涉及服务器重定向(通过 HTTP 状态 302 和 Location: 标头)时,片段如何工作。
我的问题实际上是双重的:
如果原始 URL 有一个片段 (
/original.php#foo),并且重定向到/new.php,那么原始 URL 的片段部分是否会丢失?或者它有时会应用于新 URL?
在这种情况下,新 URL 会不会是/new.php#foo?无论原始 URL 是什么,如果服务器重定向到带有片段 (
/new.php#foo) 的新 URL,该片段会得到“尊重”吗?或者服务器真的没有业务干扰片段 - 因此浏览器是否会通过简单地转到/new.php来忽略它??
【问题讨论】:
-
在这里您可以找到 W3C 的规范:w3.org/TR/cuap#uri 第 4.1 条。该片段应在重定向时保留。
标签: redirect fragment-identifier http-redirect