<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <dfn xml:lang="en"><ruby><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor><rt>エイチティーティーピー</rt></ruby></dfn> (<dfn xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Hypertext Transfer Protocol</anchor></dfn>)
は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">World Wide Web</anchor> で用いられている<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ネットワークプロトコル</anchor>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">転送プロトコル</anchor>) です。
元々は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ハイパーテキスト</anchor>の転送のための<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント鯖型</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アプリケーション層プロトコル</anchor>でしたが、
現在では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ハイパーテキスト</anchor>に限らず様々な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">データ</anchor>の転送に用いられています。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターネット</anchor>技術を流用したシステムでは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">セッション層</anchor> 
(あるいは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オーバーレイ・ネットワーク層</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>であるかのように用いられることすらあります。</p><section><h1>呼称</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="69" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[69]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> を「Hypertext Transfer Protocol」の略と説明しています。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="70" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[70]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML</anchor> の展開形は歴史的に「Hypertext」と「HyperText」が混在していました。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> 
HTTP protocol と書くのは変だと思うけど、仕様書
(例えば RFC 2616) も使ってるしなー。</p></section><section><h1>版</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> には <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/0.9</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.0</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.1</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/2</anchor>
の4つの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">版</anchor>があります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> 現実に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web</anchor> で用いられている<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鯖</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor> 
<weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(<anchor>HTTP</anchor> では通常<anchor>利用者エージェント</anchor> (<anchor>UA</anchor>) と呼ばれます。)</weak>
はこのうち1つ以上に対応しています <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(ほとんどの場合、最低でも <anchor>HTTP/1.0</anchor> に対応しています)</weak>。
ただし <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> は非常に様々な機能を含んだ膨大な仕様で、
そのうちのどの部分に対応しているかは実装により異なります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/0.9</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.<var xmlns="http://www.w3.org/1999/xhtml">x</var></anchor> と互換性がありません。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.0</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.1</anchor> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メッセージ</anchor>のレベルでの互換性がありますが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TCP</anchor> <ruby><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続</anchor><rt xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">コネクション</anchor></rt></ruby>の利用方法が異なります
<weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(<anchor>HTTP/1.1</anchor> の方が高機能です)</weak>。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/2</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.1</anchor>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">以下</anchor>と直接的な互換性はありませんが、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/2</anchor> における<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メッセージ</anchor>の意味は
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.1</anchor> の定義をそのまま使っています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</anchor-end> 仕様書としては、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/0.9</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.0</anchor> が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1945</anchor>
に記述されていますが、その後放置されています。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.1</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 7230</anchor>
などに記述されています。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/2</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 7540</anchor> などで定義されています。
詳しくはそれぞれの項を参照してください。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="60" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[60]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サーバー</anchor>によっては <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.0</anchor> のみや
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.0</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.1</anchor> のみ、
あるいは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.1</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">以下</anchor>のみに対応するものがあります。
従って、これらの版のすべてに対応できない<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web互換</anchor>ではありません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="61" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[61]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>にも <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.0</anchor> のみや
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.0</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.1</anchor> のみ、
あるいは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.1</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">以下</anchor>しか対応しないものもあります。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/2</anchor> のみしか実装しない<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サーバー</anchor>は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web互換</anchor>ではありません。</p><history xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="52" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[52]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PEP</anchor> が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.2</anchor> を名乗っていましたが頓挫し、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.1</anchor>
の拡張として <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2774</anchor> になりましたが、結局広く受け入れられることはありませんでした。</p></history><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPの版</anchor>も参照。</comment-p></section><section><h1>プロトコルの構成要素</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> には色々な役割のプログラムが関与します。</p><figure class="list short"><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鯖</anchor><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">起源鯖</anchor></li></ul></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor></li></ul></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">中間器</anchor><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">串</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">逆串</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">トンネル</anchor></li></ul></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">送信者</anchor>/<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">受信者</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">上流</anchor>/<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">下流</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">内向き</anchor>/<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">外向き</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">末端対末端</anchor>/<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ホップ毎</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ</anchor></li></ul></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="31" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[31]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メッセージ</anchor>とその色々な構成要素を含んでいます。</p><figure class="short list"><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPメッセージ</anchor><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP要求</anchor>/<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP応答</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPの版</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求URL</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPヘッダー</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">状態符号</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">転送符号化</anchor></li></ul></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPのエラー処理</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPにおけるURL</anchor><ul><li><code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">http:</anchor></code></li><li><code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">https:</anchor></code></li></ul></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP認証</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Cookie</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP CORS Protocol</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WebDAV</anchor></li></ul></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> 処理モデルは各構成要素の項に説明があります。</p><figure class="short list"><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP接続</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPS</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HSTS</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PKP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPメッセージ</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP鯖</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">対象資源</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">内容折衝</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">条件付き要求</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">範囲要求</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">同一起源ポリシー</anchor></li></ul></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="50" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[50]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>の拡張点として次のものが存在し、またはかつて提案されていました。<figure class="short list"><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコルの版</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求メソッド</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPヘッダー</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">状態符号</anchor></li><li><code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Upgrade:</anchor></code></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PEP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2774</anchor></li></ul></figure></p></section><section><h1>状態</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="44" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[44]</anchor-end> しばしば <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> は“状態を持たない”と説明されます。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor>
による<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鯖</anchor>の通信は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応答</anchor>の組が1単位となっており、
複数の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応答</anchor>の組同士は直接影響しあわないという意味で、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> は状態を持たない<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>です。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="45" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[45]</anchor-end> 他の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アプリケーション層プロトコル</anchor>、例えば <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SMTP</anchor> では <code xmlns="http://www.w3.org/1999/xhtml"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HELO</anchor></code>、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">認証</anchor>、送受信者の指定、本文の送信といった複数の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">命令</anchor>のやり取りの組み合わせが<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鯖</anchor>の間で発生します。また <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IRC</anchor> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">認証</anchor>の後長時間<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続</anchor>を維持した状態で、
適宜<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">命令</anchor>等のやり取りが発生します。これら<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>の“状態”を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鯖</anchor>が保持する必要がある<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>に対して、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1</anchor> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>もその実装も非常に簡潔となっています。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="46" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[46]</anchor-end> しかしながら、当然ながら<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>も<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鯖</anchor>も、ある<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>を送受信しはじめてからそれに対する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応答</anchor>を送受信し終えるまで、
その<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応答</anchor>に関する“状態”を保持し続ける必要はあります。
<code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">1xx</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応答</anchor>を使う場合や
<code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">multipart/x-mixed-replace</anchor></code> を使う場合、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">COMET</anchor> の場合など、より複雑な状況も存在しています。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/2</anchor> ではこれが<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ストリーム</anchor>なる明示的な状態の元で管理されています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="47" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[47]</anchor-end> また<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">持続的接続</anchor>を使う場合には、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応答</anchor>の組を超えてある種の“状態”を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続</anchor>単位で維持し続けることになります。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.1</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/2</anchor> ではこれが標準機能となっています。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="48" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[48]</anchor-end> ただし、その場合でも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続</anchor>とそれに含まれる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>・<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応答</anchor>は互いに独立していて、
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続</anchor>を継続するか閉じるかの判断以外には) 相互に影響を与えることはありません。
例えば最初の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応答</anchor>で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP認証</anchor>を通過したかどうかと、
その次の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応答</anchor>が認められるかどうかは無関係となっています。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="49" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[49]</anchor-end> よりマクロに、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> を使うシステム全体として見た時には、様々な“状態”
を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鯖</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>が管理していることがあります。<figure class="list"><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPキャッシュ</anchor>が使われることがあります。</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">串</anchor>が使われることがあります。</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TLS session resumption</anchor> を使う場合、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鯖</anchor>はその情報を保持することとなります。</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HSTS</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PKP</anchor> を使う場合、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>はその状態を保持することとなります。</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SDCH</anchor> を使う場合、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>は辞書を保持する必要があるかもしれません。</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Cookie</anchor> が使われる場合、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>はその値を保持することとなります。</li><li>その他<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">起源鯖</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>、あるいはそれらで動作する <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webアプリケーション</anchor>は様々な状態を保持することがあります。</li></ul></figure></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="54" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[54]</anchor-end> そのような状態を <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> 上で実装することは好ましくないと考える人もいます。
例えば <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Cookie</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> の状態を持たない性質を破壊する不適切な技術と考える人もいます。
しかしそのような考え方はあまり現実的ではなく、ほとんど支持されていません。</p></section><section><h1>プロトコル <code class="HTTP" xml:lang="en">HTTP</code></h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[33]</anchor-end> <code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">protocol</anchor></code> の値 <dfn><code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor></code></dfn>
は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> を表す<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル名</anchor>として定義されています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;34</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;37</anchor-internal></src>。</p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[34]</anchor-end> <cite xml:lang="en">RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</cite> (<time>2014-06-07 01:59:35 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc7230#page-59">https://tools.ietf.org/html/rfc7230#page-59</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[37]</anchor-end> <cite xml:lang="en">RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</cite> (<time>2014-06-07 01:59:35 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc7230#section-8.6.2">https://tools.ietf.org/html/rfc7230#section-8.6.2</anchor-external></li></ul></refs><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[35]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPの版</anchor>でも、この名前が使われています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> しかし <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Upgrade:</anchor></code> における処理モデルは明記されていません。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.1</anchor> で <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Upgrade:</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.1</anchor></code> と指定されたときや、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/0.9</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.0</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/2.0</anchor> を指定した時にどうなるべきかは明記されていません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="63" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[63]</anchor-end> 本<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>名は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/2</anchor> では使われていません。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/2</anchor> は <code xmlns="http://www.w3.org/1999/xhtml"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">h2</anchor></code> というより短い名前を使っています。</comment-p></section><section><h1>REST との関係</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> を含む <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">REST</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">体系様式</anchor>の1<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実現値</anchor>であると
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">REST</anchor> の考案者は主張しています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="51" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[51]</anchor-end> 実際には <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> は非 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">REST</anchor> 的な使われ方をすることもよくあります。
また<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アプリケーション</anchor>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> の使い方を
「<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">REST</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API</anchor>」や「<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">REST</anchor> ベース」などと修飾することが良くありますが、
その意味するところは文脈により様々で、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バズワード</anchor>の類と理解する方が正しいかもしれません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="65" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[65]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バズワード</anchor>としての <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">REST</anchor> による <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> の利用方法については、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">REST</anchor> の項を参照してください。</p></section><section><h1>URL</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="56" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[56]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> については、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPにおけるURL</anchor>を参照。</p></section><section><h1>下位層プロトコル</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[55]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">下位層</anchor>として用いられる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ネットワークプロトコル</anchor>については、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP接続</anchor>や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPS</anchor> を参照。</p><section><h1>素の HTTP と HTTPS</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="66" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[66]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> は歴史的には <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TCP/IP</anchor> 上で用いられてきました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="67" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[67]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TLS</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSL</anchor>) 上で <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> を使う <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPS</anchor> は、90年代から存在していましたが、
決済など安全性が特に重要な場面でのみ限定的に用いられていました。しかし10年代に入って
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web</anchor> のセキュリティーが特に深刻な問題と認識されるようになり、徐々に
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPS</anchor> への移行が進んでいます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="68" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[68]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TLS</anchor> を使わない<strong>素の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> は、原則として用いるべきではありません</strong>。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPS</anchor> を使うことを基本とするべきです。</p></section></section><section><h1>HTTP の上に構築されたプロトコル</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> 色々な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> を下位層として使っています。</p><figure class="short list"><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FTP over HTTP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTCPCP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTCPCP-TEA</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WebDAV</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IPP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML-RPC</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SOAP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">AtomPub</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SPARQL</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">LDP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OPES</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UPnP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MPEG-DASH</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">AS2</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WebFinger</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OpenID</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OAuth</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EST</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PuSH</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSE</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WebDriver</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OCSP over HTTP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RDAP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">long polling</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">COMET</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">BOSH</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Jabber HTTP Polling</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Certificate Transparency</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">gRPC</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SCEP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Micropub</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TrackBack</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Pingback</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webmention</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">POX over HTTP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">証明書ダウンロード</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Memento</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Bayeux</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PKIX over Secure HTTP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPX</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HELD</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RID</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JMAP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TZDIST</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CMC</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EST</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS-over-HTTPS</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ICY</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Icecast</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">YASMIN</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OpenURL</anchor></li><li><code class="822">List-Unsubscribe-Post:</code></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RESTCONF</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">THTTP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSTP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IIIF</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Solid</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MMI</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web Push protocol</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HLS</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JWLの取得プロトコル</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">oEmbed</anchor></li><li><code>/uri-res/</code></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TSP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Time over HTTPS</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IndexNow</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Common Media Client Data</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WMS</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Gmail Actions</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GraphQL</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FIPA MTP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IndexNow</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ikachan</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP Certificate Store Interface</anchor></li></ul></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="58" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[58]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> を使って <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webアプリケーション</anchor>の操作を機械的に指示する手段を提供するものを
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web API</anchor> などと呼びます。多くの <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webアプリケーション</anchor>が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor>、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Atom</anchor>、<code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">application/x-www-form-urlencoded</anchor></code> などの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書形式</anchor>や
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OAuth</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基本認証</anchor>などの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">認証</anchor>方式と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> を組み合わせた <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API</anchor> を提供しています。</p></section><section><h1>派生プロトコル</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[29]</anchor-end> 派生, <dfn>HTTPもどき</dfn>といっても色々な度合いがありますが...</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="41" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[41]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">輸送路</anchor>を変えたもの<figure class="short list"><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP over SCTP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPU</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPMU</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSDP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP-DTN</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">S-HTTP</anchor></li></ul></figure></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="43" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[43]</anchor-end> 大きく改変したもの<figure class="short list"><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP-NG</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GridHTTP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XHTTP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Reverse HTTP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Bidirectional HTTP</anchor></li></ul></figure></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="42" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[42]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>の構造を流用したもの<figure class="short list"><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RTSP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SIP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MRCP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SSTP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Q4S</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ICAP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ICE</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ICY</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CATP</anchor></li></ul></figure></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="40" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[40]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル要素</anchor>を流用したもの<figure class="short list"><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WSP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP over XMPP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FCAST</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CoAP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SPDY</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web Sockets</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP Vocabulary in RDF</anchor></li></ul></figure></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="57" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[57]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web</anchor> を代表するプロトコルであり、仕様上の (そして多くの実装における)
データ構造は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> 以外も <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> に基づく形で表されます。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML Standard</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">or equivalent</anchor> のような形でこれを表現しています。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Fetch Standard</anchor> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応答</anchor>などの <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> に由来する内部データ構造を規定しています。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Fetch</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XHR</anchor> を通じて<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">著者</anchor>もこうした <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor>
“風” <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API</anchor> にアクセスできます。</p><hr></hr><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="75" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[75]</anchor-end> 
なんでこんなに <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPもどき</anchor>が作られたのか、今から考えると不思議だけど、当時の時代の雰囲気、一過性のブームみたいなものだと思うしかないなあ。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="76" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[76]</anchor-end> 
似せるなら似せるでもっと似せれば実装を共通化できるとか同じサーバーで同時提供できるとかメリットが出てくるはずなんだけど。
でもそうなると<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor>そのものを使えばええやんって話にもなるし、
新しいプロトコルを作ったぞ新製品だぞすごいんだぞ感みたいなのあんまりでないから、
マーケティング的に(商品売る的な意味でも研究開発部門から会社経営層へのアピール的な意味でも)見劣りしちゃうとかの事情もありそうやね。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="77" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[77]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> に限ったことではなく、同時期に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML</anchor> に似せた<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTMLもどき</anchor>が大量に出てきたし (これは応用ごとに必要な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">語彙</anchor>が違ってくるので意味はある(こともある))、
少し前の時代には<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターネットメールメッセージ</anchor>もどきがたくさん出てきてたし(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor>もその1つ)、
あるいは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SMTP</anchor>もどきみたいなのもたくさんあるし、
新しい技術が流行ったら真似して似たようなのを作るというのはわりと普遍的な考え方なのかもしれない。
と思うけど最近はそういうのあんまりないなあ。
ベンダー中立のプロトコルが流行る、っていうのがあんまりない時代になってしまったからか?</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="78" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[78]</anchor-end> 
似て非なるのがたくさんある、という状況は初期学習を容易にする(とっつきやすくなる)という大きなメリットがある反面、
他の似たものに引っ張られて正しい理解が深まらないとか、なんとなくで済ませられるので正確な仕様が出てこなくなるとか、
元の仕様の改正にもどきの方が追随できなくなって似てるが似てたになってメリットがなくなるとか、
そういうデメリットはいろいろある。</p></section><section><h1>API</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="62" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[62]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API</anchor> については、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPサーバー</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPクライアント</anchor>を参照。</p></section><section><h1>人物</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="74" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[74]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> の開発に大きく関わった人々:<figure class="short list"><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TimBL</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Roy T. Fielding</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">mnot</anchor></li></ul></figure></p></section><section><h1>歴史</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> 初期の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> 仕様案 (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP92</anchor>) <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;5</anchor-internal></src></p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <em>HTTP: A protocol for networked information</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/Protocols/HTTP/HTTP2.html">http://www.w3.org/Protocols/HTTP/HTTP2.html</anchor-external></li></ul></refs><ul><li>2756 Hyper Text Caching Protocol (HTCP/0.0). P. Vixie, D. Wessels.
January 2000. (Format: TXT=32176 bytes) (Status: EXPERIMENTAL)</li></ul><ul><li>2935 Internet Open Trading Protocol (IOTP) HTTP Supplement. D.
Eastlake, C. Smith. September 2000. (Format: TXT=16168 bytes)
(Status: PROPOSED STANDARD)</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC2936</anchor> HTTP MIME Type Handler Detection. D. Eastlake, C. Smith, D.
Soroka. September 2000. (Format: TXT=25238 bytes) (Status:
INFORMATIONAL)</li><li>2964 Use of HTTP State Management. K. Moore, N. Freed. October 2000.
(Format: TXT=18899 bytes) (Also BCP0044) (Status: BEST CURRENT
PRACTICE)</li><li>3143 Known HTTP Proxy/Caching Problems. I. Cooper, J. Dilley. June
2001. (Format: TXT=57117 bytes) (Status: INFORMATIONAL)</li><li>3253 Versioning Extensions to WebDAV (Web Distributed Authoring and
Versioning). G. Clemm, J. Amsden, T. Ellison, C. Kaler, J. Whitehead.
March 2002. (Format: TXT=245514 bytes) (Status: PROPOSED STANDARD)</li><li><em>Common HTTP Implementation Problems</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/chips/">http://www.w3.org/TR/chips/</anchor-external><ul><li>HTTP (及び隣接する <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URI</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML</anchor> の一部) についてのチェック集。
快適な <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WWW</anchor> 生活(謎)のために最低限必要なサーバーの配慮をまとめたメモ。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UA</anchor> でいう <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WAI</anchor> みたいなものかな。)</li><li>いい仕事してますね、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">W3C</anchor>。</li></ul></li><li><em>Common User Agent Problems</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/cuap">http://www.w3.org/TR/cuap</anchor-external><ul><li>こっちは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UA</anchor> の視点から見た <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> (など) の実装上の問題点。</li></ul></li></ul><section><h1>標準化</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> は元々 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TimBL</anchor> により考案され、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CERN</anchor> を中心とする <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WWW</anchor>
プロジェクトにより発展させられてきましたが、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IETF</anchor>
に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP WG</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ietf-http</anchor>) が設けられてからは主にそこで標準化が進められてきました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IETF</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP WG</anchor> は当時の実装の大枠を反映して <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/0.9</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.0</anchor>
を規定した <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1945</anchor> を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">情報提供RFC</anchor> とした後、改良を加えた新版 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.1</anchor>
を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">提案標準</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2068</anchor> として発行しました。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2068</anchor>
は更に改訂されて<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">原案標準</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2616</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2617</anchor> となりました。</p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="79" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[79]</anchor-end> 
<time>1993-11-05</time>版:
1994-03-07 18:56,
<time>2025-05-16T14:58:09.400Z</time>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.sapmed.ac.jp/satui/std/doc/WWW/http-spec.ps">https://www.sapmed.ac.jp/satui/std/doc/WWW/http-spec.ps</anchor-external></li></ul><ul><li><em>IETF - Hypertext Transfer Protocol (HTTP) Working Group</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://ftp.ics.uci.edu/pub/ietf/http/">http://ftp.ics.uci.edu/pub/ietf/http/</anchor-external> (ietf-http)</li><li>↑この ietf-http の頁は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC</anchor> になっている <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">I-D</anchor>
がまだのように載ってたり、古い内容のままですね。
(ietf-http 閉鎖よりまだ前なのかな?)</li><li><em>HTTP - Hypertext Transfer Protocol Overview</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/Protocols/">http://www.w3.org/Protocols/</anchor-external></li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> については中核仕様の他に様々な拡張・派生仕様が策定されました。例えば
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IETF</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WebDAV</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WG</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ietf-webdav</anchor>) は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ストレージ</anchor>的に利用可能な
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WebDAV</anchor> 仕様を <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> の拡張として定義しました。</p><ul><li><em>IETF WEBDAV Working Group Home Page</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.ics.uci.edu/~ejw/authoring/">http://www.ics.uci.edu/~ejw/authoring/</anchor-external> ietf-webdav</li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> その他、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IETF</anchor> では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> 派生仕様として <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RTSP</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SIP</anchor>
や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MSRP</anchor> が標準化されています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> 90年代末に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> の新しい版として <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP-NG</anchor> が検討されていましたが、
失敗に終わりました。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP-NG</anchor> を参照。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> 2008年頃には <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.1</anchor> 仕様の改訂の機運が高まり、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ietf-httpbis</anchor>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WG</anchor> が設置されています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> の標準化は基本的に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IETF</anchor> で行われていますが、歴史的経緯により
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">W3C</anchor> が積極的に関わっています。最近では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML5</anchor> 機能などに関して <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WHATWG</anchor>
界隈での活動も活発になっています。</p></section></section><section><h1>メモ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <cite>IRC logs: freenode / #whatwg / 20091013</cite>
(<time>2009-12-09 08:43:01 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://krijnhoetmer.nl/irc-logs/whatwg/20091013">http://krijnhoetmer.nl/irc-logs/whatwg/20091013</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> <cite>Design Issues for HTTP</cite>
(<time>1997-06-06 04:48:52 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/Protocols/DesignIssues.html">http://www.w3.org/Protocols/DesignIssues.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> <cite>Hypertext Transfer Protocol Version 1.x</cite>
(<time>2000-09-27 19:46:32 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/Protocols/HTTP/">http://www.w3.org/Protocols/HTTP/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> <cite xml:lang="en-US">HTTP - Hypertext Transfer Protocol Overview</cite>
(<time>2009-10-26 18:38:01 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/Protocols/">http://www.w3.org/Protocols/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> <cite>HTTP Problem Statement</cite>
(<time>1997-06-06 06:45:05 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/Protocols/HTTP-NG/951005_Problem.html">http://www.w3.org/Protocols/HTTP-NG/951005_Problem.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> ( (<time>1993-11-05 09:08:00 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://cantor1.mathematik.uni-halle.de/doc/CERN/doc/http-spec.txt">http://cantor1.mathematik.uni-halle.de/doc/CERN/doc/http-spec.txt</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> ( (<time>1993-11-12 08:03:00 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://cantor1.mathematik.uni-halle.de/doc/CERN/doc/draft-ietf-iiir-http-00.txt">http://cantor1.mathematik.uni-halle.de/doc/CERN/doc/draft-ietf-iiir-http-00.txt</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</anchor-end> <cite>Information on http://cantor1.mathematik.uni-halle.de/doc/CERN/doc/draft-ietf-iiir-http-00.txt</cite>
( (<time>2012-07-10 14:37:20 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://suika.fam.cx/gate/2007/schema/schema/536186f16bc0128d84e7690b94f18e92/prop.html">http://suika.fam.cx/gate/2007/schema/schema/536186f16bc0128d84e7690b94f18e92/prop.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end> <cite xml:lang="en">Web Applications 1.0 r2499 Always put javascript: into the online whitelist. Make some comments about HTML and HTTPS security. Vaguely define 'or equivalent' for HTTP concepts.</cite>
( (<time>2008-12-02 08:52:00 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://html5.org/tools/web-apps-tracker?from=2498&amp;to=2499">http://html5.org/tools/web-apps-tracker?from=2498&amp;to=2499</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[28]</anchor-end> <cite>crwlr.net - server header information index | beta</cite>
( (<time>2014-03-05 09:03:07 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://crwlr.net/">http://crwlr.net/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[38]</anchor-end> <cite>httpwg/http-extensions</cite>
( (<time>2014-07-30 01:12:42 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/httpwg/http-extensions">https://github.com/httpwg/http-extensions</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="39" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[39]</anchor-end> <cite xml:lang="en">Work in Progress</cite>
( (<time>2014-08-28 07:23:02 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://httpwg.github.io/wip/">https://httpwg.github.io/wip/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="53" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[53]</anchor-end> <cite xml:lang="en">draft-aboba-rtp-http-02 - Payload Format for HTTP Encoding in RTP</cite>
( (<time>2015-02-02 03:35:25 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/draft-aboba-rtp-http-02">https://tools.ietf.org/html/draft-aboba-rtp-http-02</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="59" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[59]</anchor-end> <cite xml:lang="en-GB-x-hixie">HTML Standard</cite>
(<time>2015-03-05 09:33:40 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://html.spec.whatwg.org/#encrypted-http-and-related-security-concerns">https://html.spec.whatwg.org/#encrypted-http-and-related-security-concerns</anchor-external></figcaption><blockquote><p>Anything in this specification that refers to HTTP also applies to HTTP-over-TLS, as represented by URLs using the https: scheme. </p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="64" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[64]</anchor-end> <cite xml:lang="en">RFC 3205 - On the use of HTTP as a Substrate for Other Protocols</cite>
(<time>2015-06-07 16:22:49 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc3205">http://tools.ietf.org/html/rfc3205</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="71" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[71]</anchor-end> <cite>Wireless Profiled HTTP Version 29-Mar-2001</cite>
(<time>2013-09-23 14:21:12 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://technical.openmobilealliance.org/tech/affiliates/wap/WAP-229-HTTP-20010329-a.pdf">http://technical.openmobilealliance.org/tech/affiliates/wap/WAP-229-HTTP-20010329-a.pdf</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="72" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[72]</anchor-end> <cite>Hypertext Transport Protocol HTTP/1.1</cite>
( (<time>1996-10-21 04:41:52 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.w3.org/Talks/9608HTTP/">https://www.w3.org/Talks/9608HTTP/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="73" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[73]</anchor-end> <cite xml:lang="en">protocol: make normative reference to http (#315)</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">andreastt</anchor>著, <time>2016-07-19 23:51:12 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/w3c/webdriver/commit/8f75b83f789d0dead1a370e0a90f57cce045c64f">https://github.com/w3c/webdriver/commit/8f75b83f789d0dead1a370e0a90f57cce045c64f</anchor-external></p></section></body></html>