具有空查询字符串和片段标识符的URL的重要性

时间:2014-05-14 18:27:26

标签: url

我遇到了http://foobar.com/something?#foo/bar.html形式的网址,我将其解释为空查询字符串,后跟片段标识符" foo / bar.html&#34 ; (我正确地解析了吗?)

我不熟悉这种模式;什么是空查询字符串的意义?有必要吗?

(一些实证测试表明,服务这些网址的网站的行为是否与“#”字符是否存在相同,但我仍然不知道我是否遗漏了某些内容。 )

1 个答案:

答案 0 :(得分:1)

考虑两个URI:

  1. http://example.com/
  2. http://example.com/?
  3. URI standard这两个http方案URI不等同:“规范化不应在其关联组件为空时删除分隔符,除非通过方案规范获得许可。例如,URI”{{3不能假设它等同于上面的任何例子。“这意味着允许HTTP服务器为两个不同的URI返回不同的内容。

    但是,实际上,当包含空字符串查询时,大多数HTTP服务器都不会返回不同的内容。

    当我在网上看到一个带有空查询的URI时,它只是一个HTML页面的工件,它使用相对URI导航到当前页面但删除了查询的内容。例如,http://example.com/a/b/c?d=e&f=g可以指向相对URI ?的链接,该链接将导航到http://example.com/a/b/c?