URI中的协议名称是否有标准?

时间:2012-11-07 21:32:48

标签: regex uri

URI中的协议名称是否有标准,例如http:或文件:?我正在尝试开发一个正则表达式,它将检测URI是否以协议名称开头,但我不确定那里允许哪些字符。

1 个答案:

答案 0 :(得分:4)

RFC 3986, section 3.1有语法:

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

这意味着协议名称必须以字母开头,后跟任意数量的字母,数字或+-.符号。协议名称不区分大小写(即,HTTPhttp应该被视为相同),但通常应将它们规范化为小写形式(因此HTTP应成为http })。