インターネットにつないでブラウザからWebサイトにアクセスしていると,ときどき「HTTP 404」というエラー・メッセージが表示される。これは,どういう意味なのだろうか。

 それを知るにはまず,WebサーバーとWebブラウザの間でどういった通信をしているのかを知る必要がある。もちろん,プロトコルにはTCP/IPを使うのだが,問題はその上位プロトコル。Webアクセスでは,HTTP(hypertext transfer protocol)というプロトコルを使って,指定したサーバーのHTMLデータや画像などを送受信しているのである。

 ただし,HTTPはデータを送受信する以外にも機能を持っている。それは,クライアント(Webブラウザ)からの要求に対して,Webサーバーがどういった処理をしたのかを通知する機能である。処理を通知するのに使うのが,「状態コード」と呼ばれる3けたの数字。404も,この状態コードの一つになる。

 404は,Webブラウザが指定したURLに対応するデータが見つからなかったときに,Webサーバーが返す状態コード。404以外には,例えば,ユーザーにアクセス権がないことを通知する403番,ユーザー認証を求める場合に通知する401番といった具合に,番号が決められている。

 では,具体的にWebサーバーが404番を返すまでの流れを見ていこう。

 まずWebブラウザが,Webページを見ようとして,目的のWebサーバーに,「このコンテンツを下さい」とデータの転送要求を出す。通常Webサーバーは,指定されたデータをWebブラウザに返信する。このときは,状態コードとして正常に処理したことを表す200番が通知される。ところが,Webサーバー中に要求されたデータがない場合,「そのデータを持っていません」というエラーをWebブラウザへ返す。このエラーを示す状態コードが404番というわけである。

半沢 智