Web服务器日志中包含许多与网站使用有关的信息,当你研究应用程序问题时,可能会用到这些信息。本文将研究Web服务器日志及其所包含的内容。
标准
存在有一些Web服务器日志标准。这些标准适用于日志文件所包含的内容。一个Web服务器可能有一个或多个日志文件,了解这一点很重要。例如,Apache平台拥有访问日志、参照日志和代理日志。
- 要了解网站访问者是谁及他们为何访问网站,访问日志是最重要的文件。每次有访问者向你的网站发送一个文件请求,不管这个访问是否成功,访问日志都会进行记录。
- 参照日志包含客户在访问网站前的地址信息。
- 代理日志告诉你向服务器请求文件的浏览器的名称和版本。
访问日志内容
在调试页面问题时,开发者往往对请求的内容和状态感兴趣。从这方面来讲,访问日志是了解这些信息的最重要文件,因为它确定所有请求及其状态。访问日志有两种格式:普通格式和扩充格式。普通日志格式包含下列数据栏:
- 第一栏确定请求Web服务器资源的计算机主机(IP地址)。这个域中的值或为合格的完整域名,或为远程主机。
- 第二栏通过每RFC 931用户名确定用户。此栏很少使用,因此这里通常以连字符(-)显示。
- 第三栏为用户验证域。
- 第四栏包含请求的时间标签。时间标签的格式为:DD/MM/YYYY:HH:MM:SS OFFSET(偏移值)。
- 第五栏为HTTP请求,它包含以下信息:远程客户用来请求信息的方法(Post,Get等)、远程客户请求的文件和客户用来恢复文件的HTTP版本。
- 第六栏确定请求的状态。使用这个值,你能够立即知道资源是否被正确传输、未发现,及其它情况。
- 第七栏说明在请求过程中客户接收到的字节数。如果第六栏使用的是状态代码而不是成功代码(200),此栏将显示一个连字符(-)或零,表明没有发生数据传输。
- 最后一栏包含客户使用的用户代理或浏览器。
扩充格式增加了另外两栏,第八栏为资源请求前所访问页面的参照地址。
Apache和大多数其它Web平台都支持这些标准。如果你在使用微软IIS,普通和扩充格式还带有定制选项。IIS以扩充格式为默认格式。