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

2022-09-03 13:34:30

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

javadocs似乎没有提到它。


答案 1

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

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

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

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

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


答案 2

推荐