13

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

javadocs似乎没有提到它。

4

2 回答 2

20

您无法以您想要的方式获取 URL 片段。

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

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

这是RFC3986:统一资源标识符 (URI):通用语法必须说的:

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

于 2012-11-21T22:41:36.330 回答
0

看看下面的链接:https ://www.rfc-editor.org/rfc/rfc2396

于 2012-11-21T22:42:51.970 回答