HTTP/0.9
概要
1990 年に公開
HTTP/1.0 が出てきたので、それ以前の仕様ということで /0.9 と呼ばれている HTML ドキュメントを要求して取得するだけのプロトコル 現在の HTTP と互換性は無い
HTML ドキュメント内で <isindex> タグを利用すると、テキスト入力欄が表示されて検索できていた warning.icon <isindex> は HTML5 で削除されたため、現在は存在しない 検索すると、アドレスの末尾に ? と単語(+ 区切り)を付けてリクエストを投げる
e.g. http://example.com/?search+word
サーバは、その結果が書かれた HTML を作成して返す 当初のプロトコルでは、以下のようなできないことがあった
1 つのドキュメントを送る機能しかなかった
通信されるすべての内容は HTML ドキュメントであるという想定であったため、ダウンロードするコンテンツのフォーマットをサーバから伝える手段が無かった
クライアントから検索のリクエストを送る 以外 のリクエストを送信できなかった
新しい文章を送信したり、更新したり、削除することはできなかった
リクエストが正しかったか、サーバが正しいレスポンスを返すことができたかといった情報を知る方法が無かった
そこで、1992 年に、先行して使われていた 電子メール や ニュースグループ といったプロトコルの情報を取り込んで、大幅なアップデートが記述された 1992 年版 HTTP/0.9
リクエスト
シンプル版とフル機能版の 2 種類のリクエストフォーマットがあった
シンプル版は 0.9 互換のモード
フル機能版は 1.0 とほとんど同じモード
0.9 からの変更点
リクエスト時にリクエスト行が追加された
リクエスト時に HTTP バージョンが追加された(HTTP/1.0)
0.9 との違いを吸収するため
レスポンス
0.9 からの変更点
レスポンスの先頭にステータス行が追加された
HTTP バージョンと 3 桁のステータス(ステータスコード)が含まれるようになった フィールド(ヘッダ)
1992 年版の HTTP/0.9 では、電子メールと同じ形式の ヘッダ(フィールド)が導入された 電子メールと同じ形式
ヘッダ名: 値 の形式
warning.icon ヘッダ? フィールド?
しかし、Go を始めとする多くのプログラミング言語ではフィールドを扱う API が未だに Header 型だったりする また、RFC 内でも Content-Type のようにコンテンツよりも先に送られるものは ヘッダフィールド と呼んでいる Field は クラサバ 間で、追加情報や指示、命令などを記述する場 e.g.
主にクライントがサーバに送る Field
主にサーバからクライアントに返すフィールド
以前にあったフィールドの分類
以前の HTTP の仕様である RFC 2616 では、対象に応じて以下の 4 分類があったり、 通信経路での取り扱いによって、2 分類があったりした
が、現在は無くなっている
以前は X- から始まるフィールドは各アプリケーションが自由に使っても良いとされていた
しかし、現在は RFC をなるべく発行して、X- 無しの名前を普及させる努力をしている 参考
参考