URI 中的协议名称是不是有标准?
Posted
技术标签:
【中文标题】URI 中的协议名称是不是有标准?【英文标题】:Is there a standard for protocol names in URIs?URI 中的协议名称是否有标准? 【发布时间】:2012-10-28 00:48:54 【问题描述】:URI 中的协议名称是否有标准,例如http:或文件:?我正在尝试开发一个正则表达式,它将检测 URI 是否以协议名称开头,但我不确定那里允许使用哪些字符。
【问题讨论】:
Aaaaand 在回答后我发现了一个重复,which I've apparently also answered, albeit slightly differently... 【参考方案1】:RFC 3986, section 3.1 有语法:
scheme = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." )
这意味着协议名称必须以字母开头,后跟任意数量的字母、数字或+
、-
或.
符号。协议名称不区分大小写(即HTTP
和http
应被视为相同),但通常它们应规范化为小写形式(因此HTTP
应变为http
)。
【讨论】:
还有一小块拼图,这里定义了方案组件分隔符(“:”)tools.ietf.org/html/rfc3986#section-3 +1 如果您很懒惰,请查看我的文章“Regular Expression URI Validation”了解所有相关的 RFC3986 正则表达式代码 sn-ps。以上是关于URI 中的协议名称是不是有标准?的主要内容,如果未能解决你的问题,请参考以下文章