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 / "+" / "-" / "." )

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

【讨论】:

还有一小块拼图,这里定义了方案组件分隔符(“:”)tools.ietf.org/html/rfc3986#section-3 +1 如果您很懒惰,请查看我的文章“Regular Expression URI Validation”了解所有相关的 RFC3986 正则表达式代码 sn-ps。

以上是关于URI 中的协议名称是不是有标准?的主要内容,如果未能解决你的问题,请参考以下文章

MIME 消息中的电子邮件地址是不是有标准格式?

以太网是当今现有局域网采用的最通用的通信协议标准,而TCP/IP协议不是也是应用最广的吗,他们有啥区别呢

Scheme跳转协议

uri与url

URLURI和URN

这个 API 使用啥 OAuth 协议,是不是有一个标准的 OAuth 库可以用来对其进行身份验证?