HTTP サーバーはHost
、同じ TCP 接続で異なるフィールドを持つリクエストを受信することを期待する必要がありますか? 直感に反しますが、RFC 2616 は、クライアントが同じ接続上の異なるホストへのリクエストを多重化することを明示的に禁止していないようです。
これを禁止する関連文書に規範的な規則はありますか? そうでない場合、これを効果的に防ぎ、サーバーが各リクエストでホストをチェックしないようにする実用的な考慮事項はありますか?
HTTP サーバーはHost
、同じ TCP 接続で異なるフィールドを持つリクエストを受信することを期待する必要がありますか? 直感に反しますが、RFC 2616 は、クライアントが同じ接続上の異なるホストへのリクエストを多重化することを明示的に禁止していないようです。
これを禁止する関連文書に規範的な規則はありますか? そうでない場合、これを効果的に防ぎ、サーバーが各リクエストでホストをチェックしないようにする実用的な考慮事項はありますか?
Chromium の William Chan の引用:
SPDY 以外では、プロキシ サーバーを除いて、これは発生しません。
実際には、IP アドレスが重複している場合に別のホストへの TCP 接続を再利用することについて議論しましたが、セキュリティと壊れた HTTP サーバーの実装について考慮されました (たとえば、別のアプリケーション サーバー バックエンドを持つリバース プロキシ HTTP サーバーがあり、おそらく別の所有者がいるとしましょう..壊れたリバース プロキシは、すべての接続の再利用が同じアプリケーション サーバー バックエンドに対して行われると想定するだけであり、これは悪いことです)。
したがって、可能性は十分にありますが、Chromium はそうではありません。