如何从HttpServletRequest中获取URL片段标识符

17

如何从HttpServletRequest中获取URL片段标识符?

Java文档似乎没有提到它。

2个回答

24

您无法以所需的方式获取URL片段。

通常,浏览器不会将片段发送到服务器。可以通过使用网络协议分析工具如tcpdump,EtherealWiresharkCharles来验证这一点。

但是,您可以在JavaScript请求中将片段字符串作为GET / POST参数发送。要使用JavaScript获取值,请使用window.location.hash。然后,您可以将此值作为GET或POST参数传递到AJAX请求中,并在HttpServletRequest上使用getParameter方法进行处理。

以下是RFC3986:统一资源标识符(URI):通用语法的内容:

在解除引用之前,片段标识符与URI的其余部分分开,因此片段本身中的标识信息仅由用户代理解除引用,而与URI方案无关。尽管此种单独处理通常被认为是信息丢失,特别是对于准确重定向随时间移动的资源的引用,但它也有助于防止信息提供者否认参考作者选择性地引用资源中的信息的权利。间接引用还为使用URI的系统提供了更大的灵活性和可扩展性,因为比起新的标识方案,定义和部署新的媒体类型更容易。


-1

如何从HTTP请求中获取片段?它能帮助吗? - agad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接