gpt4 book ai didi

http - 如何在 HTTP1.1 中执行符合标准的 GET 查询

转载 作者:可可西里 更新时间:2023-11-01 16:28:59 24 4
gpt4 key购买 nike

简而言之:如何以 HTTP1.1 标准符合 rfc2616 的方式对 URL 进行 GET 查询,如 http://example.com/?query

Wikipedia

GET /?query HTTP/1.1
...

rfc2616它说

Request-URI    = "*" | absoluteURI | abs_path | authority

只有 abs_path 和 absoluteURI 与 GET 请求相关。

绝对路径

其中 abs_path 实际上来自 uri rfc这禁止“?”,因为 abs_path 实际上是 uri 中查询部分之前的部分。所以维基百科的变体在句法上似乎是不正确的。

绝对URI

为此,uri rfc 说

absoluteURI   = scheme ":" ( hier_part | opaque_part )
hier_part = ( net_path | abs_path ) [ "?" query ]

所以可以将这样的查询放入 Request-URI,但不幸的是,rfc2616 不允许为不与代理对话的客户端传输 absoluteURI。网络服务器可以以符合标准的方式接收它,但实际上不可能通过浏览器或其他客户端以符合标准的方式发送它。

相对路径

令我惊讶的是 rfc2616提到一个“?”在 rel_path 中,但 rfc2396 不允许这样做,实际上也不可能将 rel_path 放入 http 请求的某处,因为 rel_path 规则在语法上没有在 rfc2616 中的任何地方使用。

所以我的问题是,如何标准合规地提出这样的要求,是否所有的浏览器都违反了标准?

最佳答案

这是 RFC 2616 中的错误。参见 http://trac.tools.ietf.org/wg/httpbis/trac/ticket/11 .

关于http - 如何在 HTTP1.1 中执行符合标准的 GET 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8015614/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com