为什么URL的哈希部分在服务器端不可用?

例如,如果我输入URL:

http://www.foo.com/page.php?parameter=kickme#MOREURL

然后在服务器上没有任何部分:#MOREURL

是否可以在没有jQuery AJAX的情况下将这些部分发送或获取到服务器?

回答:

,因此您必须使用Javascript处理它。服务器无法读取它。

基本上,页面URL的散列部分(#符号后面的部分)仅由浏览器处理-

浏览器从不将其传递给服务器。可悲的是,这是HTML标准的一部分,无论您是否使用IE或任何其他浏览器(就此而言,还是PHP或任何其他服务器端技术)都是相同的。

这是 所说的:

片段标识符的功能与URI其余部分的功能不同:即,其标识符处理

。当代理(例如Web浏览器)从Web服务器请求资源时,该代理将URI发送到服务器,但不发送片段。相反,代理程序等待服务器发送资源,然后代理程序根据片段值处理资源。在最常见的情况下,代理将网页向下滚动到锚元素,该锚元素的属性字符串等于片段值。其他客户端行为也是可能的

以上是 为什么URL的哈希部分在服务器端不可用? 的全部内容, 来源链接: utcz.com/qa/406355.html

回到顶部