「HTTP/1.0」とは
- 1996年にRFC1945としてまとめられた。
- リクエスト時にHTTPのバージョン情報が追加された。(例:
echo -e "GET / HTTP/1.0\r\n" |nc localhost 80
) - リクエスト時のメソッドが「HTTP/0.9」の「GETのみ」から拡張された。
- GET、HEAD、POST
- POSTメソッドにより、クライアント側からサーバー側へのデータ送信が可能になった。(RFC1867)
- PUT、DELETE(ブラウザでは未サポート)
- LINK、UNLINK(HTTP/1.1で廃止)
- GET、HEAD、POST
- リクエスト、応答時の両方でHTTPヘッダーが追加された。(
Host
、User-Agent
など)- HTTPヘッダーの例
- コンテントネゴシエーションというファイルの種類や表示言語を決定する仕組みで、以下のようなHTTPヘッダーを利用する。
- Accept
- Accept-Charset
- Accept-Encoding
- Accept-Language
- Content-Type
- Content-Language
- Content-Encoding
- 応答時に
Content-Type
ヘッダーを送信することで、HTML形式(テキストファイル)以外のコンテンツが利用可能になった。 - リファラー(
Referer
)- ウェブサイトの到達経路をサーバー側が把握するためにクライアント側から送信する。
- ユーザーエージェント(
User-Agent
)- クライアントがサーバーにリクエストを行う際のアプリケーション名。
- コンテントネゴシエーションというファイルの種類や表示言語を決定する仕組みで、以下のようなHTTPヘッダーを利用する。
- 「HTTP/0.9」のレスポンスはHTMLファイルそのものだったが、「HTTP/1.0」ではレスポンスにヘッダーが追加されたため、ヘッダーとボディの間に空行を挟んで、その空行以降をすべてボディとする形式となった。(電子メールと同じ構造)
- HTTPヘッダーの例
- 応答時に3桁のステータスコードを送信するようになったことで、ステータスコード毎の処理分けが可能になった。(例:
HTTP/1.0 200 OK
)- 100番台(情報レスポンス)
- 200番台(成功レスポンス)
- 300番台(リダイレクトメッセージ)
- 400番台(クライアントエラーレスポンス)
- 500番台(サーバーエラーレスポンス)
- クッキー
- 認証
- Basic認証
- Digest認証
- セッション
- プロキシ
- HTTP通信を中継する仕組み。
- キャッシュ
- ダウンロード済みのコンテンツに変化がなければ、ダウンロードを抑制しパフォーマンスを向上させるメカニズム。