当前位置: 首页 > 面试题库 >

从URI获取anchor

祝高阳
2023-03-14
问题内容

我正在编写一个JSP / Servlet,并且试图获取URI的锚点部分,例如:

blabla.rdf#mark

如何从我的请求中获得分数?显然request.getParameter()行不通吗?

任何帮助都将受到欢迎。


问题答案:

这是不可能的,因为客户端不会将“锚定部分”发送到服务器

例如,这是Chrome提交后生成的确切请求http://example.com/#foobar(使用Wireshark记录):

GET / HTTP/1.1
Host: example.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/532.3 (KHTML, like Gecko) Chrome/4.0.223.11 Safari/532.3
Cache-Control: max-age=0
Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
If-None-Match: "b300b4-1b6-4059a80bfd280"
If-Modified-Since: Tue, 15 Nov 2005 13:24:10 GMT

看,没有#foobar。因此,服务器应用程序无法读取它。

您可以做一些JavaScript魔术,将锚点存储在Cookie或隐藏的输入字段或任何您喜欢的伏都教中。但是,对于不是来自您自己站点的请求,它将永远无法工作。在服务器上将查询字符串中的任何内容作为必需,并且仅将锚仅用于仅JavaScript的任务,或者将其用于在简单的HTML文档中导航,这比较简单,但这就是90年代;)。

这是提到的RFC 1808中的重要部分:

请注意,片段标识符(及其前面的“#”)不被视为URL的一部分。但是,由于它通常在与URL相同的字符串上下文中使用,因此解析器必须能够识别存在的片段,并将其放在一边作为解析过程的一部分。



 类似资料:
  • 问题内容: 我正在编写一个JSP / Servlet,并且尝试获取URI的锚点部分,例如: 如何从我的请求中获得分数?显然行不通吗? 任何帮助都将受到欢迎。 问题答案: 这是不可能的,因为客户端不会将“锚定部分”发送到服务器 例如,这是Chrome提交后生成的确切请求(使用Wireshark记录): 看,没有#foobar。因此,服务器应用程序无法读取它。 您可以做一些JavaScript魔术,将

  • 问题内容: 我对Java不了解。我需要在Windows上构造URI的字符串表示形式。有时我得到的是:有时是:。现在,我正在做的是: 上面的方法适用于不带前缀但带前缀的路径。方法通过附加当前目录的值将其转换为无效的URI,因此路径变为无效。 请提出一种为两种路径获取正确URI的正确方法,以帮助我。 问题答案: 这些是有效的文件uri: 所以,你需要删除或为Windows和Linux操作系统。

  • 问题内容: 如何从Uri获取Bitmap对象(如果我成功将其存储在 以在应用程序中使用它? 有谁知道如何实现这一目标? 问题答案: 这是正确的方法: 如果您需要加载非常大的图像,则以下代码会将其加载到图块中(避免大内存分配):

  • 多亏了约书亚我才想通的。

  • 上一章节,主要介绍了一下如何使用不同 location 进行协作,对 location 进行糅合,往往都是要需要参数的二次调整。如何正确获取传递参数、设置参数,就是你的必修课了。本章目的是给出在 OpenResty 的世界中,我们如何正确获取、设置 uri 参数。 获取请求 uri 参数 首先看一下官方 API 文档,获取一个 uri 有两个方法:ngx.req.get_uri_args、ngx.

  • 每当我试图从Intent获取uri时,它只是从图像选取器中选择一个图像,它在这里不起作用,这是我的代码。请尽快回答 这是日志: I/Error: java.lang.SecurityException: Permission Denial: read com.android.providers.media.MediaProvider uri content://media/external/ima