* 仕様書

[REFS[
- [1] [CITE@en[RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing]] ([TIME[2014-06-07 01:59:35 +09:00]] 版) <https://tools.ietf.org/html/rfc7230#section-5.2>
]REFS]

* 処理モデル

[2] [[HTTP]] [[クライアント]]は次のようにして[[要求]]を行います [SRC[>>1]]。

[FIG[
= [3] [[対象URL]]を決定します。
= [4] ネットワーク要求が必要かどうか、必要な場合どこに[[要求]]を送信するか決めます。
== [5] [[キャッシュ]]があり、[[要求]]を満足させられるなら、[[要求]]はまずそちらに向けます。
== [6] [[要求]]を[[キャッシュ]]で満足させられないなら、
[[要求]]を満足させるために[[串]]が必要か判断します。
==- [7] その方法は[[実装依存]]です。
==- [8] [[URL]] の接頭辞一致によったり、[[authority]] の一致によったりします。
==- [9] [[串]]自体も通常は [CODE(URI)@en[[[http:]]]] [[URL]]
や [CODE(URI)@en[[[https:]]]] [[URL]] によって識別されます。
==- [10] [[串]]が適用できるときは、[[内向き]]の[[接続]]をその[[串]]に対して確立するか、
再利用します。
= [11] [[串]]が適用可能でなければ、普通は[[対象URL]]の [[URL scheme]]
によって決まる処理ルーチンを呼び出して[[対象資源]]の [[authority]]
に直接[[接続]]します。
= [12] 得られた[[内向き]]の[[接続]]を使って[[要求メッセージ]]を送信します。
]FIG]