RFC 3986 指定了 URI 的通用格式,但指出它“没有定义 URI 的生成语法;该任务由每个 URI 方案的单独规范执行。” 我现在正在查找特定 HTTP URI 语法的当前规范。
HTTP/1.1 在 RFC 2616(超文本传输协议(protocol) - HTTP/1.1)中指定。在第 3.2 节中,它定义了“http URL 的特定于方案的语法和语义。”这看起来非常简单:
http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]
此规则引用 RFC 2396(统一资源标识符 (URI):通用语法)中的规则,该规则已被 RFC 3986(统一资源标识符 (URI):通用语法)废弃em>)。后一个 RFC 没有提及任何关于 abs_path 的信息,前一个 RFC 没有提及任何关于 IPv6 的信息,并且 http_URL 至少缺少该片段。
我是否错过了什么或者我完全错了?
最佳答案
1) URI 方案的官方列表由 IANA 维护,网址为 http://www.iana.org/assignments/uri-schemes.html ,这确实表明 RFC 2616 定义了“http”URI 方案。
2) RFC 2616 早于 RFC 3986(显然),并且此后一直没有更新。但很快就会了;请参阅http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p1-messaging-19.html#rfc.section.2.7最新最好的。
3) 片段标识符不是 URI 方案定义的一部分;它们适用于所有方案;请参阅http://greenbytes.de/tech/webdav/rfc3986.html#rfc.section.3.5 .
关于http - HTTP URI 在哪里指定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11428354/