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]