アクセスログの仕組みは?


アクセスログに記載される情報は、何が何を取得している情報なのでしょうか?
たとえば、「ブラウザに画像ファイルが表示された」という場合、アクセスログに記載される情報はブラウザが送信しているのでしょうか?

また、「アクセスログをファイルに書き出す」という処理は、ApacheなどのWEBサーバが、受け取った値と、時刻などを合わせて書いているだけなのでしょうか?

さらに、この処理をするときに、ほかの処理(phpなど)を呼び出すことはできないのでしょうか?
処理がとっても重くなるなら、同じような効果を実現できる他の方法はあるのでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/01/23 12:50:02
  • 終了:2007/01/25 02:50:08

ベストアンサー

id:merkava No.3

merkava回答回数5ベストアンサー獲得回数12007/01/23 14:25:38

ポイント30pt

Webサーバーが記録するアクセスログは、ブラウザ(などのユーザーエージェント)が送信してきた「自分はこういう者だが、どれそれのファイルを送信してくれ」という要求と、Webサーバーがその要求にどのように応じたかの記録です。一回の要求と応答につき、1行記録されます。記録される項目は自由に設定できますし、一般的な書式は以下のURLに詳細があります。

http://jp.logcenter.net/index.php/WeblogAnalysis:Usage:Weblog


以上のことから、アクセスログには「ブラウザに画像ファイルが表示された」という記録は残らず、「ブラウザに画像ファイルを要求されたので送信した」という記録が残ります。


また、IPアドレスやOS、リンク元URLなどのブラウザの身元情報はブラウザ自身が送信した情報を元に記録され、送信したファイルやその日時時刻、送信バイト数、ブラウザへ送信したステータスコード(404や501など)といった情報はWebサーバー自身が自らの動作を元に記録します。


なお、Apacheはログをパイプ(|)で別の実行プログラムに標準出力で渡すことができます。以下のURLに詳細があります。

http://httpd.apache.org/docs/2.0/ja/logs.html#piped(日本語/Apache 2.0)

http://httpd.apache.org/docs/1.3/logs.html#piped(英語/Apache 1.3)


処理が重い場合の代替方法についてはケースバイケースかと思います。単純にデータ量を減らせば解決できる場合は、ログの書式を変更して必要のない項目を記録しないようにすることで解決できるかも知れません。また、Webサイトの運用に活用することを目的とするのであれば、ログの項目は最小限に抑え、ログ専用のサーバーを持っている業者にアウトソースした方が手間もコストも省ける場合が多いようです。


ちなみにアクセスログ解析については以下の書籍がおすすめです。

http://www.amazon.co.jp/exec/obidos/ASIN/4798107360/

id:dingding

めちゃめちゃためになります。

アクセスログが要求と応答の記録であるということがとてもためになります。

解析の本は持ってましたが、結構前に読んだのでわかっていませんでした。

ありがとうございます。

2007/01/25 02:49:34

その他の回答(2件)

id:taknt No.1

きゃづみぃ回答回数13539ベストアンサー獲得回数11982007/01/23 12:58:25

ポイント20pt

http://magic3.net/text/proxy.html

>アクセスログに記載される情報はブラウザが送信しているのでしょうか?

>WEBサーバが、受け取った値と、時刻などを合わせて書いているだけなのでしょうか?

そうです。

なお、ブラウザが情報を渡しているため

その情報を偽装することも可能です。

主な情報は、上記のURLにある一般の情報というのを参照してもらえればいいでしょう。

id:dingding

サイト単位での偽装も可能なのでしょうか?

たとえば、Aサイトにある画像aaa.jpgをBサイト上で表示されているという場合、

Aサイトに管理人にBサイトに貼り付けていることを隠すために、何かすれば、Bサイトに貼り付けていることがわからなくすることができるということでしょうか?

2007/01/23 14:04:32
id:b-wind No.2

b-wind回答回数3344ベストアンサー獲得回数4402007/01/23 14:18:42

ポイント30pt

たとえば、Aサイトにある画像aaa.jpgをBサイト上で表示されているという場合、

Aサイトに管理人にBサイトに貼り付けていることを隠すために、何かすれば、Bサイトに貼り付けていることがわからなくすることができるということでしょうか?

容易に可能。


そういった情報は、リファラと呼ばれます。

リファラとは 【referer】 - 意味・解説 : IT用語辞典 e-Words

また、これは容易に偽装する事が出来ます。

question:1165146615


基本的にはアクセスログに記録されるのは、

・サーバーから見える情報

アクセス時間・相手のIPAddress・アクセスしてきたURL等

・クライアントから送られてきた情報

ブラウザ種別・リファラ等

に分かれますが、サーバー自身から見える情報は信頼できますが、クライアントから送られてきた情報は鵜呑みにするしかないので信頼は出来ません。

ただ、統計を取るといったレベルでは偽装している人たちがそれほど多くない状況では問題になりません。


さらに、この処理をするときに、ほかの処理(phpなど)を呼び出すことはできないのでしょうか?

Apache に関して言えば、CustomLog で pipe を使用することで任意のアプリケーションに渡せます。

http://httpd.apache.org/docs/2.2/ja/mod/mod_log_config.html#cust...

もっと細かな処理や、ぎりぎりのチューニングをする場合は Apache のモジュールとして実装してしまう事もあります。

id:dingding

ありがとうございます。

調べてみます。

2007/01/25 02:45:37
id:merkava No.3

merkava回答回数5ベストアンサー獲得回数12007/01/23 14:25:38ここでベストアンサー

ポイント30pt

Webサーバーが記録するアクセスログは、ブラウザ(などのユーザーエージェント)が送信してきた「自分はこういう者だが、どれそれのファイルを送信してくれ」という要求と、Webサーバーがその要求にどのように応じたかの記録です。一回の要求と応答につき、1行記録されます。記録される項目は自由に設定できますし、一般的な書式は以下のURLに詳細があります。

http://jp.logcenter.net/index.php/WeblogAnalysis:Usage:Weblog


以上のことから、アクセスログには「ブラウザに画像ファイルが表示された」という記録は残らず、「ブラウザに画像ファイルを要求されたので送信した」という記録が残ります。


また、IPアドレスやOS、リンク元URLなどのブラウザの身元情報はブラウザ自身が送信した情報を元に記録され、送信したファイルやその日時時刻、送信バイト数、ブラウザへ送信したステータスコード(404や501など)といった情報はWebサーバー自身が自らの動作を元に記録します。


なお、Apacheはログをパイプ(|)で別の実行プログラムに標準出力で渡すことができます。以下のURLに詳細があります。

http://httpd.apache.org/docs/2.0/ja/logs.html#piped(日本語/Apache 2.0)

http://httpd.apache.org/docs/1.3/logs.html#piped(英語/Apache 1.3)


処理が重い場合の代替方法についてはケースバイケースかと思います。単純にデータ量を減らせば解決できる場合は、ログの書式を変更して必要のない項目を記録しないようにすることで解決できるかも知れません。また、Webサイトの運用に活用することを目的とするのであれば、ログの項目は最小限に抑え、ログ専用のサーバーを持っている業者にアウトソースした方が手間もコストも省ける場合が多いようです。


ちなみにアクセスログ解析については以下の書籍がおすすめです。

http://www.amazon.co.jp/exec/obidos/ASIN/4798107360/

id:dingding

めちゃめちゃためになります。

アクセスログが要求と応答の記録であるということがとてもためになります。

解析の本は持ってましたが、結構前に読んだのでわかっていませんでした。

ありがとうございます。

2007/01/25 02:49:34

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません