17

Я думал о Registering an Application to a URL Protocol и хотел бы узнать, какие символы разрешены в схеме?Допустимые символы для схем URI?

Некоторые примеры:

  • h323 (имеет номера)
    • h323:[<user>@]<host>[:<port>][;<parameters>]
  • z39.50r (имеет . а)
    • z39.50r://<host>[:<port>]/<database>?<docid>[;esn=<elementset>][;rs=<recordsyntax>]
  • paparazzi:http (имеет :)
    • paparazzi:http:[//<host>[:[<port>][<transport>]]/

Итак, какие символы я воображаю использовать?
Можем ли мы ...

  • @:TwitterUser
  • #:HashTag
  • $:CapitalStock
  • ?:ID-10T

... и т.д.., По желанию, или символы в схеме ограничены стандарт?

ответ

20

Согласно RFC 2396, Приложение A:

scheme  = alpha *(alpha | digit | "+" | "-" | ".") 

Значение:

Схема должна начинаться с буквы (в верхнем или нижнем регистре), и может содержать буквы (еще верхний и нижний регистр), число, "+", "-" и ".".


Примечание: в случае

paparazzi:http:[//<host>[:[<port>][<transport>]]/ 

схема является лишь "папарацци" часть.

+0

Я вижу. Но есть RFC, которые используют числа ... Почему? –

+0

Номера разрешены в схеме URI, но не как первый символ. «a234» действителен, а «4bcd» - нет. –

+0

Считаете ли вы, что тот факт, что он будет использоваться только как протокол URL в Windows, может повлиять на удобство использования других персонажей? –

7

The scheme according to RFC 3986 определяется как:

scheme  = ALPHA *(ALPHA/DIGIT/"+"/"-"/".") 

Таким образом, схема должна начинаться с буквенного символа (A - Z, a - z) и может следовать любое количество буквенно-цифровых символов, +, -, или ..

+0

Считаете ли вы, что использование его в качестве протокола URL только для Windows влияет на используемые символы? Если это что-то изменит, я бы сделал некоторые тесты ... –

5

Quoth RFC 2396:

названия Схема состоит из последовательности символов, начиная с строчной буквы и затем любой комбинации в нижнем регистре буквы, цифры, плюс («+»), период (".") или дефис ("-").

 Смежные вопросы

  • Нет связанных вопросов^_^