このページの本文へ

前へ 1 2 3 4 次へ

TCP/IPまるわかり 第8回

TCP/IPアプリケーションの仕組みを知ろう

HTTP、FTP、SMTP、SIPはどう動くの?

2009年08月10日 09時00分更新

文● 伊藤玄蕃

  • この記事をはてなブックマークに追加
  • 本文印刷

TCP/IPのアプリケーションは、その多くがTCPを用いてコネクションを張り、その上でコマンド(メソッド)やデータをやり取りして動作する。ここではアプリケーションのうち代表的なものを4つ選び、その仕組みをごく簡単に紹介することにしよう。

HTTPの動作

 HTTP(Hyper Text Transfer Protocol)は、HTMLで記述されたファイルやその関連ファイルをサーバからクライアントに転送するプロトコルである。一般にHTTPのサーバを「Webサーバ」、クライアントを「Webブラウザ」、システム全体を「Web」あるいは「WWW」と呼ぶ。電子メールと並んで、現在もっとも利用されているTCP/IPのアプリケーションだ。

 Webサーバは、通常80番ポートを開設してクライアント(Webブラウザ)からの接続を待つ。一方クライアントは、このポートに対してコネクションを確立して要求(リクエスト)を送る。そして、サーバは要求を実行して応答(レスポンス)を返す(図1)。基本的には、HTTPの動作はこの繰り返しである。Webブラウザそのものの機能向上は目覚しいが、裏で動いているプロトコルは実に単純だ。

図1 HTTPの基本的な動作

 クライアントは、処理の対象となるデータ(ファイル)を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の動作」に続く)


 

前へ 1 2 3 4 次へ

カテゴリートップへ

この連載の記事
  • 角川アスキー総合研究所
  • アスキーカード