To allow for transition to absoluteURIs in all requests in future
versions of HTTP, all HTTP/1.1 servers MUST accept the absoluteURI
form in requests, even though HTTP/1.1 clients will only generate
them in requests to proxies.
とありますが、この場合のacceptとはどういう意味なのでしょうか。RFCの観点から言って、プロクシ機能をサポートしていないHTTPサーバは、絶対形式のURIでリクエストを受けたときに、どのように振舞うべきなのでしょうか。
たとえば、そのリクエストが自分に対する要求かどうかを何らかの方法で調べて、もし自分に対する要求であれば、リソースの表現を返し、さもなくばエラーを返すというようにすべきでしょうか。それとも絶対形式のURIを要求された時点で、400 Bad Requestなどを返すべきでしょうか。
訳してみると
「HTTPの将来のバージョンのリクエストに絶対URIへの以降を許す為に、全てのHTTP/1.1サーバはリクエストで絶対URIを受け入れなければならない。HTTP/1.1クライアントは絶対URIをproxyへのリクエストにしか使わないが。」
なります。結論から言えば、「絶対URIを必ず受け入れなければならない」のです。ですからエラーなどを返してはいけません。
5.2節をもう少し読んで見たら、答えがわかりました(たぶん)。
絶対URIが来た場合は、そのホスト部は、Hostヘッダの代わりに使われるべき(Hostヘッダの値は無視)で、ホストをどう扱うかは実装次第ということみたいですね。
ホスト名(またはドット区切りIP)が自分自身かどうかの判定までは、RFC2616では、非プロクシサーバーには要求されていない、のかな。
どーも。