Apacheのアクセスログの構造

192.168.1.1- - [20/Jun/2001:19:16:15 +0900] "GET / HTTP/1.0" 200 4636

というログを例にとる。情報の並んでいる順に左から説明する。()内は例の場合である。

アクセス元のIPアドレス(192.168.1.1)

アクセス元のIPアドレス。 ただし、HostNameLookups onになっている時のみホスト名になる。 逆に言えばHostNameLookupsがonでないかぎり、 ログの中にアクセス元ホストのホスト名が現れることはない。

ユーザ名(-)

この部分には本来はアクセス元のユーザ名(IDENTによるもの)が入るが、 この時にはユーザ名を得るこるができなかったために -となっている。

認証ユーザ名(-)

この部分には認証を行った際のユーザ名が入るが、 この時はそもそも認証を行っていないために-となっている。 認証を要するページへのアクセスであった場合には -ではなく対応するユーザ名が入る。

日付と時間([20/Jun/2001:19:16:15 +0900])

このエントリで表されるアクセスがあった日時。 この例については 2001年6月20日の19時16分15秒にアクセスがあったことがわかる。「+0900」は世界基準の時間に9時間分がプラスされていることをあらわしています。

閲覧Webページ("GET / HTTP/1.0")

どのディレクトリのどのファイルにアクセスがあったのかを記録します。GET とは、通常、クライアントがWebページを閲覧した場合に記録される動作を示し、 POSTとは、例えば、WebページのフォームからからCGIのプログラムへ値が渡されるときなどを示します。一概には言えませんが、GETで値を渡すよ りPOSTで値を渡した方がシンプルなのでそのような使い分けがなされています。

ステータスコード(200)

そのリクエストに対応するステータス。 200はアクセスできたことを意味するステータスである。 アクセスが拒否されたり、リダイレクトされたりすると この部分の値が200ではなく別のものとなる。

ファイルサイズ(4636)

実際に送出したデータ量(バイト)。

・リファラー

<一つ前にアクセスしていたページ> -> <今回アクセスしたページ> というフォーマットでログが記録される。意味としてはどのページからのリンクをたどってそのページに到達したかを記録したものと考えることができる。ただし、これらはブラウザなどからのリクエストと一緒に送られてくる Refererヘッダの内容を元にしているものなので、必ずしも正確なものではないし、そうした情報そのものがない場合もある。

・エージェント

アクセスしてきたブラウザが名乗ったクライアント名などに関する情報が記録される。先のrefererと同じく必ずしも正確ではない場合がある。

Mozilla/5.0 (X11; U; Linux 2.2.19 i686; ja-JP; rv:0.9.1) Gecko/20010618

以上も先の二つのログが記録されたタイミングで記録されたログである。いずれものアクセスも、 Mozillaというブラウザを使っていると考えることができる。