我们在URI中将组合路径,查询和片段称为什么?

时间:2017-11-29 01:02:11

标签: uri terminology

URI由几个部分组成:scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]。通常,我发现自己想要引用主机和端口右侧的URI的整个部分 - 在HTTP请求中被视为URI的部分:

GET /path?query#fragment
Host: example.com

作为一个简写,我通常把它称为“路径”,但这不太准确,因为路径只是其中的一部分。这基本上是What do you call the entire first part of a URL?

的倒数

这是否有商定的名称?

3 个答案:

答案 0 :(得分:4)

在完整的HTTP URI中,似乎没有一个术语表示权限之后的所有内容。

如果您只将相关部分作为URI引用(例如,在HTTP GET请求中),则称为relative reference

relative-ref  = relative-part [ "?" query ] [ "#" fragment ]

但是这个术语还包括网络路径引用(通常称为protocol-relative URI),例如//example.com/path?query#fragment。要排除这种情况,您可以使用其他两种情况的术语:

  • 绝对路径引用 (以单个/开头,例如/path?query#fragment
  • 相对路径引用 (不以/开头,例如path?query#fragment)¹

¹如果第一个路径段包含:,则必须使用./(例如./pa:th?query#fragment)开始相对路径引用。

答案 1 :(得分:0)

我不知道URI部分的任何术语。

RFC3986说这个

     foo://example.com:8042/over/there?name=ferret#nose
     \_/   \______________/\_________/ \_________/ \__/
      |           |            |            |        |
   scheme     authority       path        query   fragment
      |   _____________________|__
     / \ /                        \
     urn:example:animal:ferret:nose

答案 2 :(得分:0)

RFC 7230说:

request-line =方法SP request-target SP HTTP版本CRLF

我个人更喜欢使用这些术语

  • 来源(计划和权限)(在哪里)和
  • 资源用于路径,查询字符串和片段(什么)。