为什么服务器无法访问 URL 哈希?
在 Web 开发中,理解 URL 的组成部分至关重要。哈希部分就是这样一个组件,经常会引发有关其在服务器端可用性的问题。
什么是哈希部分?
当您在在浏览器的地址栏中,您可能会注意到查询字符串后面以“#”开头的文本。这称为哈希部分。例如,在“http://www.foo.com/page.php?parameter=kickme#MOREURL”中,哈希部分是“#MOREURL”。
服务器端的可用性
与普遍看法相反,哈希部分在服务器端不可用。这是因为浏览器单独处理它,而不涉及服务器。请求资源时,浏览器将整个 URL 发送到服务器,但不包括哈希部分。
为什么无法访问
此行为是有意的且符合符合 HTML 标准。哈希部分允许在页面内进行客户端导航。它使用户能够链接到网页中的特定部分或元素,而无需从服务器请求新资源。
根据维基百科,“片段标识符的功能与 URI 的其余部分不同:即,它的处理是完全是客户端,没有服务器的参与。”这意味着服务器故意不知道哈希部分,以防止其影响服务器端操作。
影响
这种不可访问性对 Web 开发有影响。如果您需要在服务器端代码中捕获或利用哈希部分,则必须使用 jQuery AJAX 等客户端技术直接从浏览器中检索它。
以上是为什么我的服务器看不到 URL 哈希?的详细内容。更多信息请关注PHP中文网其他相关文章!