如何在HTTP1.1中执行标准一致性GET查询
在shord中:如何以符合HTTP1.1标准的方式对rfc2616进行对URL的GET查询,如 说 上面说 只有abs_path和absoluteURI与GET请求相关 abs_路 其中abs_路径实际上来自禁止使用“?”的,因为abs_路径实际上是uri中位于查询部分之前的部分。看来维基百科的变体在语法上是不正确的 绝对的 对于这一点,uri rfc说如何在HTTP1.1中执行标准一致性GET查询,http,httprequest,standards-compliance,rfc2616,rfc2396,Http,Httprequest,Standards Compliance,Rfc2616,Rfc2396,在shord中:如何以符合HTTP1.1标准的方式对rfc2616进行对URL的GET查询,如 说 上面说 只有abs_path和absoluteURI与GET请求相关 abs_路 其中abs_路径实际上来自禁止使用“?”的,因为abs_路径实际上是uri中位于查询部分之前的部分。看来维基百科的变体在语法上是不正确的 绝对的 对于这一点,uri rfc说 absoluteURI = scheme ":" ( hier_part | opaque_part ) hier_part =
absoluteURI = scheme ":" ( hier_part | opaque_part )
hier_part = ( net_path | abs_path ) [ "?" query ]
因此,可以将这样的查询放入请求URI中,但不幸的是,rfc2616允许为不与代理对话的客户端传输绝对URI。可以通过Web服务器以标准兼容的方式接收,但实际上不可能通过浏览器或其他客户端以标准兼容的方式发送
相对路径
令我惊讶的是,rel_路径中提到了一个“?”,但这是不允许的,也不可能将rel_路径放在http请求的某个位置,因为在rfc2616中,rel_路径规则在语法上没有任何地方使用
所以我的问题是,如何符合标准地提出这样的请求,所有的浏览器都违反了标准吗?这是RFC2616中的一个bug。看
Request-URI = "*" | absoluteURI | abs_path | authority
absoluteURI = scheme ":" ( hier_part | opaque_part )
hier_part = ( net_path | abs_path ) [ "?" query ]