Допустимые символы для схем URI? - PullRequest
23 голосов
/ 04 сентября 2010

Я думал о Регистрация приложения по протоколу URL , и я хотел бы знать, какие символы допускаются в схеме?

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

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

Итак, какими персонажами я могу представить?
Можем ли мы иметь ...

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

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

Ответы [ 3 ]

26 голосов
/ 04 сентября 2010

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

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

Значение:

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


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

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

Схема только часть "папарацци".

11 голосов
/ 04 сентября 2010

Схема в соответствии с RFC 3986 определяется как:

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

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

6 голосов
/ 04 сентября 2010

Квот RFC 2396 :

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

...