TCP/IPのアプリケーションは、その多くがTCPを用いてコネクションを張り、その上でコマンド(メソッド)やデータをやり取りして動作する。ここではアプリケーションのうち代表的なものを4つ選び、その仕組みをごく簡単に紹介することにしよう。
HTTPの動作
HTTP(Hyper Text Transfer Protocol)は、HTMLで記述されたファイルやその関連ファイルをサーバからクライアントに転送するプロトコルである。一般にHTTPのサーバを「Webサーバ」、クライアントを「Webブラウザ」、システム全体を「Web」あるいは「WWW」と呼ぶ。電子メールと並んで、現在もっとも利用されているTCP/IPのアプリケーションだ。
Webサーバは、通常80番ポートを開設してクライアント(Webブラウザ)からの接続を待つ。一方クライアントは、このポートに対してコネクションを確立して要求(リクエスト)を送る。そして、サーバは要求を実行して応答(レスポンス)を返す(図1)。基本的には、HTTPの動作はこの繰り返しである。Webブラウザそのものの機能向上は目覚しいが、裏で動いているプロトコルは実に単純だ。
クライアントは、処理の対象となるデータ(ファイル)をURI(Universal Resource Identifier、世界的に一意な識別子)で指定する。このURIは実際には、「http://~」でおなじみのURL(Uniform Resource Locators、一意な場所)で表現される。
HTTPのプロトコル
ブラウザが出す要求には、データの処理内容をサーバに指示する「メソッド(コマンドに相当)」が含まれている。初期のHTTPプロトコルでは、Webサーバからデータを取得するGETメソッドしかなく、これに対する応答は指定されたデータ(ファイル)である。
現在のHTTP標準(Version 1.0/1.1)では、GETのほかにPOST(URLを指定してデータを送信する)、DELETE(指定したURLのファイル削除する)、HEAD(指定したURLのヘッダ情報だけを取得する)などのメソッドが使用できるようになった。しかし、実際にはGETとPOST以外はあまり使われていない。
一方、サーバが返す応答の最初には、処理の結果を示すステータス(状態通知)コードが含まれる。ステータスコードは3桁の整数で、399までが正常・400以上がエラーを意味する。正常は、100番台の情報(処理が継続中であることを示す)・200番台の成功(処理が完了したことを示す)・300番台の転送(別のURIを参照すべきことを示す)の3つに分類される。エラーも同様に、400番台のクライアント側エラー(要求の誤り)・500番台のサーバエラー(サーバの障害、機能不足など)の2つに分類される。
(次ページ、「FTPの動作」に続く)
この連載の記事
-
第7回
ネットワーク
帯域を効率的に利用するTCPの仕組みとは? -
第6回
ネットワーク
TCPのコネクションとはなんですか? -
第5回
ネットワーク
TCPのキモはコネクションとポート番号 -
第4回
ネットワーク
ルータの向こうに広がるネットワーク -
第3回
ネットワーク
特別なIPアドレスって知っていますか? -
第2回
ネットワーク
TCP/IPはどのように普及していったの? -
第1回
ネットワーク
TCP/IPの基礎の基礎を理解していますか? -
ネットワーク
TCP/IPまるわかり - この連載の一覧へ