In shord:HTTP1.1標準に準拠した方法で、http://example.com/?queryのようなURLへのGETクエリをrfc2616にどのように適用しますか?
ウィキペディアは言う
GET /?query HTTP/1.1
...
rfc2616ではそれは言う
Request-URI = "*" | absoluteURI | abs_path | authority
GETリクエストに関連するのはabs_pathとabsoluteURIのみです。
abs_path
ここで、abs_pathは実際には「?」を禁止するuri rfcからのものです。これは、abs_pathが実際にはクエリ部分の前にあるuriの一部であるためです。したがって、ウィキペディアの変種は構文的に正しくないようです。
絶対URI
このためにurirfcは言います
absoluteURI = scheme ":" ( hier_part | opaque_part )
hier_part = ( net_path | abs_path ) [ "?" query ]
したがって、そのようなクエリをRequest-URIに入れることは可能ですが、残念ながら、rfc2616は、プロキシと通信していないクライアントのabsoluteURIの送信を許可していません。これは、Webサーバーによって標準に準拠した方法で受信することは可能ですが、実際には、ブラウザーやその他のクライアントに準拠して標準で送信することはできません。
rel_path
驚いたことに、rfc2616は「?」と言っています。rel_pathにありますが、これはrfc2396では許可されていません。また、rel_pathルールはrfc2616のどこにも構文的に使用されていないため、httpリクエストのどこかにrel_pathを配置することはできません。
だから私の質問は、どのように標準に準拠してそのような要求を行うのか、そしてすべてのブラウザが標準を破っていますか?