HTTPは、TCP/IPモデルのアプリケーション層で動作する通信プロトコルです。トランスポート層の「TCP」を使用し、通常はポート番号「80番」を利用してWeb通信を待ち受けます。HTTPの大きな特徴として「ステートレス(状態を保持しない)」という性質があります。これは、1回のリクエストとレスポンスの往復が完了すると、サーバーはクライアントの情報を全て忘れ、次回のリクエストを完全に独立した新しい接続として扱う仕組みです。しかし、これではショッピングカートの保存や、会員サイトのログイン状態維持ができません。そこで、Webサーバーがブラウザに対して「Cookie(クッキー)」と呼ばれる識別子を発行し、ブラウザが次回の通信時にこれをヘッダに載せて送信することで、状態管理(セッション維持)を行っています。
HTTPリクエストでは、ブラウザの行動を示す「HTTPメソッド」が使われます。代表的なメソッドは以下の通りです。