licess 发表于 2011-11-2 14:34:36

web服务器日志格式详解

WEB日志是网站分析和网站数据仓库的数据最基础来源,了解其格式和组成将有利于更好地进行数据的收集、处理和分析。

1、日志格式类型  

目前常见的WEB日志格式主要由两类,一类是Apache的NCSA日志格式,另一类是IIS的W3C日志格式。NCSA格式又分为NCSA普通日志格式(CLF)和NCSA扩展日志格式(ECLF)两类,目前最常用的是NCSA扩展日志格式(ECLF)及基于自定义类型的Apache日志格式;而W3C扩展日志格式(ExLF)具备了更为丰富的输出信息,但目前的应用并不广泛,所以这里主要介绍的是NCSA扩展日志格式(ECLF)。

2、常见日志格式的组成  

这是一个最常见的基于NCSA扩展日志格式(ECLF)的Apache日志样例:
58.61.164.141 – - “GET /reference-and-source/weblog-format/ HTTP/1.1″ 206 6326 ” http://www.google.cn/search?q=webdataanalysis” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)”
  可以看到这个日志主要由以下几个部分组成:

访问主机(remotehost)  显示主机的IP地址或者已解析的域名。
标识符(Ident)  由identd或直接由浏览器返回浏览者的EMAIL或其他唯一标示,因为涉及用户邮箱等隐私信息,目前几乎所有的浏览器就取消了这项功能。
授权用户(authuser)  用于记录浏览者进行身份验证时提供的名字,如果需要身份验证或者访问密码保护的信息则这项不为空,但目前大多数网站的日志这项也都是为空的。
日期时间(date)  一般的格式形如,即[日期/月份/年份:小时:分钟:秒钟 时区],占用的的字符位数也基本固定。
请求(request)  即在网站上通过何种方式获取了哪些信息,也是日志中较为重要的一项,主要包括以下三个部分:
  请求类型(METHOD)
  常见的请求类型主要包括GET/POST/HEAD这三种;
  请求资源(RESOURCE)
  显示的是相应资源的URL,可以是某个网页的地址,也可以是网页上调用的图片、动画、CSS等资源;
  协议版本号(PROTOCOL)
  显示协议及版本信息,通常是HTTP/1.1或HTTP/1.0。
状态码(status)  
用于表示服务器的响应状态,通常1xx的状态码表示继续消息;2xx表示请求成功;3xx表示请求的重定向;4xx表示客户端错误;5xx表示服务器错误。

传输字节数(bytes)  
即该次请求中一共传输的字节数。

来源页面(referrer)  
用于表示浏览者在访问该页面之前所浏览的页面,只有从上一页面链接过来的请求才会有该项输出,如果是新开的页面则该项为空。上例中来源页面是google,即用户从google搜索的结果中点击进入。

用户代理(agent)  
用于显示用户的详细信息,包括IP、OS、Bowser等。

3、日志格式扩展  
apache日志格式可以自定义来配置其输出格式,常见的基于NCSA扩展日志格式(ECLF)自定义添加的包括域名(domain)和cookie。其中域名在一个网站拥有二级域名或者子域名时,可以更好地区分日志;而cookie可以作为用户的身份标识。其他具体的自定义信息详见:Custom Log Formats



转载自:http://webdataanalysis.net/reference-and-source/weblog-format/
页: [1]
查看完整版本: web服务器日志格式详解