Параметры в сегментах пути URL

В формате URL есть одна интересная вещь:
параметры в сегментах пути URL.

Для получения дополнительной информации см. раздел "2.2.5" в
"O'Reilly — HTTP — Полное руководство".

Эту книгу можно свободно найти в Интернете.

или в официальной спецификации https://www.ietf.org/rfc/rfc2396.txt раздел 3.3.

3.3. Компонент пути

Компонент пути содержит данные, относящиеся к авторитету (или схеме, если компонент авторитета отсутствует), идентифицирующие ресурс
в рамках этой схемы и авторитета.

  path          = [ abs_path | opaque_part ]

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

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

Рассмотрим следующий URL:

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

Здесь /first-segment/second-segment/index.html — часть URL-адреса пути.

  1. И first-segment - это первый сегмент этого Пути
  2. second-segment — это второй сегмент этого Пути
  3. index.html — это третий сегмент этого Пути

В этой книге указано, что каждый сегмент может иметь отдельные параметры, разделенные точкой с запятой ";". В нашем примере это может быть:

http://www.example.com/first-segment;f1=WWW/second-segment;s1=1;s2=2/index.html;i1=100;abc=200?type=HelloWorld
  1. Здесь f1 - параметр для first-segment
  2. s1 и s2 - параметры для second-segment
  3. i1 и abc параметры для index.html

Вопрос: знаете ли вы какие-либо практические примеры таких параметров в URL-адресах?


person Vitaly    schedule 05.11.2016    source источник


Ответы (1)


Я не знаю ни одного примера именно параметров в сегменте пути.

Но близким примером являются параметры подключения и SFTP в (срок действия) Предложение URL SFTP.

Предлагается одно подключение параметр, fingerprint для отпечатка ключа хоста SSH:

sftp://username:password;[email protected]/

И один предложил SFTP параметр, typecode для режима передачи (ascii или двоичный). Официального примера нет, но должно быть так:

sftp://username:[email protected]/path/file;typecode=i

(что на самом деле, хотя и семантически отличается, имеет синтаксис вашего параметра пути)

person Martin Prikryl    schedule 05.11.2016