了解Apache的访问日志

我的访问日志中的每一行都是什么意思?

127.0.0.1 – – [05 / Feb / 2012:17:11:55 +0000]“GET / HTTP / 1.1”200 140“ – ”“Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 535.19壁虎)Chrome / 18.0.1025.5 Safari / 535.19“

您似乎正在使用组合的日志格式 。

LogFormat“%h%l%u%t \”%r \“%s%b \”%{Referer} i \“\”%{User-agent} i“”

  • %h是远程主机(即客户端IP)
  • %l是由identd确定的用户身份(通常不会使用,因为不可靠)
  • %u是通过HTTP身份validation确定的用户名
  • %t是收到请求的时间。
  • %r是来自客户端的请求行。 (“GET / HTTP / 1.0”)
  • %> s是从服务器发送到客户端的状态码(200,404等)
  • %b是对客户端的响应的大小(以字节为单位)
  • Referer是HTTP请求的Referer头部 (包含发起该请求的页面的URL)(如果存在),否则为"-"
  • 用户代理是浏览器标识string。

完整的(?)格式化列表可以在这里find。 文档的同一部分还列出了其他常见的日志格式; 读者的日志看起来不像这个,可能会发现他们在Apacheconfiguration中使用的模式。

在日志的200 140部分之后,我也不承受“ – ”的含义

该值与Joachim所描述的引用者相对应。 如果你看到破折号,那就意味着没有引用值(例如,用户直接去了一个特定的目的地,就像他/她在他们的浏览器中键入了一个URL)

那么“ Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 535.19(KHTML,像Gecko)Chrome / 18.0.1025.5 Safari / 535.19 ”是什么意思?

这是User-Agent(浏览器标识string)的值。

为此,大多数Web浏览器使用User-Agentstring值,如下所示:

Mozilla / [版本]([系统和浏览器信息])[平台]([平台详细信息])[扩展]。 例如,iPad上的Safari使用了以下内容:

Mozilla / 5.0(iPad; U; CPU OS 3_2_1,如Mac OS X; en-us)AppleWebKit / 531.21.10(KHTML,如Gecko)Mobile / 7B405该string的组成如下:

Mozilla / 5.0:以前用于表示与Mozilla渲染引擎的兼容性。 (iPad; U; CPU OS 3_2_1,如Mac OS X; en-us):浏览器所在系统的详细信息。 AppleWebKit / 531.21.10:浏览器使用的平台。 (KHTML,像Gecko):浏览器平台的详细信息。 Mobile / 7B405:浏览器使用此function来指示直接在浏览器中或通过第三方提供的特定增强function。 例如,Microsoft Live Meeting注册了一个扩展,以便Live Meeting服务知道该软件是否已经安装,这意味着它可以为join会议提供精简的体验。

该值将用于标识最终用户正在使用的浏览器。

参考

Interesting Posts