我正在试图弄清楚浏览器如何处理网址请求和网页呈现中的哈希值。
例如,假设我转到www.example.com/#footer
。
当我请求此网址时,浏览器向GET
发出www.example.com
请求,但请求中没有#footer
。
当页面加载时,浏览器知道我要求#footer
并跳转到该位置。
当我进行重定向时,在更复杂的情况下会发生什么?例如,假设我301
重定向到www.example.com/birds/#middle
。如果哈希不是请求URL的一部分,浏览器如何知道它可以跳转到#middle
?
此外,Web服务器如何知道我即将跳转到特定锚#hash
,以便它可以仅为#hash
提供内容? (就像facebook从一个部分到另一个部分一样。只有#hash
锚标记发生变化。)