Parameters in Path Segments of URL

2020-07-27 06:58发布

There is one interesting thing in URL format:
Parameters in Path Segments of URL.

For more information see section "2.2.5" in
"O'Reilly - HTTP - The Definitive Guide".

This book can be found freely in Internet.

or in official specification https://www.ietf.org/rfc/rfc2396.txt section 3.3.

3.3. Path Component

The path component contains data, specific to the authority (or the scheme if there is no authority component), identifying the resource
within the scope of that scheme and authority.

  path          = [ abs_path | opaque_part ]

  path_segments = segment *( "/" segment )
  segment       = *pchar *( ";" param )
  param         = *pchar

  pchar         = unreserved | escaped |
                  ":" | "@" | "&" | "=" | "+" | "$" | ","

Let's consider the following URL:

http://www.example.com/first-segment/second-segment/index.html?type=HelloWorld

Here /first-segment/second-segment/index.html is a Path part of URL.

  1. And first-segment is a first segment of that Path
  2. second-segment is a second segment of that Path
  3. index.html is a third segment of that Path

It is stated in that book that each segment could have individual Parameters separated by semicolon ";". In our example it could be:

http://www.example.com/first-segment;f1=WWW/second-segment;s1=1;s2=2/index.html;i1=100;abc=200?type=HelloWorld
  1. Here f1 - parameter for first-segment
  2. s1 and s2 - parameters for second-segment
  3. i1 and abc parameters for index.html

The question is: do you know any practical examples of such Parameters in URLs?

1条回答
Animai°情兽
2楼-- · 2020-07-27 07:14

I do not know any example of exactly parameters in the path segment.

But close example is connection and SFTP parameters in (expired) SFTP URL proposal.

There's one proposed connection parameter, the fingerprint for SSH host key fingerprint:

sftp://username:password;fingerprint=ssh-dss-0b-77-...@example.com/

And one proposed SFTP parameter, the typecode for transfer mode (ascii vs. binary). There's no official example, but it should be like:

sftp://username:password@example.com/path/file;typecode=i

(what actually, while semantically different, has the syntax of your "path" parameter)

查看更多
登录 后发表回答