http - HTTP URI 在哪里指定?

标签 http uri standards rfc

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/

相关文章:

使用 Cookie 的 Java Web App 安全性

python - 是否有一个 python http-client 可以自动执行多种身份验证类型的身份验证?

javascript - websocket 在重新连接过程中捕获数据?

java - 为什么 URL 构造函数不允许相对 URL?

c++ - C++ 标准中 `restrict` 关键字/属性的情况

html - 更改单个列表项元素符号的正确方法

c++ - 为什么C++11定义一个不存在的值作为默认值?

http - 加密 HTTP POST 数据

jsp - Spring Security 更改请求 URI

java - 有效 URI Java 的正则表达式