1章HTTP/1.0の世界:基本となる4つの要素

本章では歴史的な変遷とともにHTTPの基本を見ていきます。いまや印刷すれば辞書のようになるほど大きなプロトコル(通信のルール)へと発展したHTTPですが、最初はとてもシンプルなところから出発しています。HTTPを理解するには現在の仕様を頭から読むより、これまで発展してきた歴史をたどって「今なぜHTTPがこのような姿になっているのか」を知る方が全体を理解しやすくなるでしょう。

HTTPをデータの箱として見ると、通信内容をいくつかの要素に分解できます。本章では次の4つの基本要素にフォーカスして紹介します。

  • メソッドとパス

  • ヘッダー

  • ボディ

  • ステータス

また、HTTPを扱うツールとしてcurlコマンドの使い方も紹介します。curlコマンドを利用することで、自分が望んだ通りのリクエストをサーバーに送信できるようになります。PythonやRuby、Node.jsなどのプログラミング言語を利用したことがあれば、インタラクティブモードやREPLと呼ばれるモードのお世話になったことがあるでしょう。それらと同じように、curlをウェブAPIのインタラクティブモードのように使うことで、サーバーの動作検証をしたり通信プロトコルを説明したりできます。

1.1 HTTPの歴史

HTTPはWebブラウザとWebサーバーが通信する時の手順とフォーマットをルール化したものです。ウェブページをブラウザで表示する時の、サーバーから情報をもらう際のルールに関する取り決めですが、その範囲を超えて、翻訳API、データ保存APIなど、さまざまなサービスのインタフェース1としても使われており、現在のインターネットの基盤となっています。1990年に最初の実働可能な実装とその概要が公開されて以来、バージョンアップし続けています。 ...