WEB服务器的访问日志(access_log),一般都会记录着每次访问请求的详细信息,通过访问日志,我们也可以了解到搜索引擎的爬行记录。然而当网站出问题时分析日志时,第一步一般都不会是看访问日志。但是也不能忽视它,在访问日志中记录了很多的客户信息,如果你有心,可以从这个日志中获得很多有用的信息! 正如其名字所示,访问日志access_log记录了所有对Web服务器的访问活动。Linux系统中,该日志文件通常存放在/var/log/httpd/目录里面 下面是访问日志中一个典型的记录: 113.116.95.174 - e800 [10/Nov/2014:16:27:19 +0800] "GET /stats/awstats.pl?config=e800 HTTP/1.1" 200 899 "http://www.codetc.com/res/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Maxthon)" 这行内容由9项构成,上面的例子中有一项空白,但整行内容仍旧分成了9项。 第一项信息是远程主机的地址。如果你想知道这个IP地址的域名,可通过nslookup或者host命令来查看。如果你想让Apache自己找出这个IP 的主机名,可以打开这个开关:HostnameLookups。(建议最好不要打开,会影响Apache记录服务器日志的速度) 第二项是空白,用一个"-"占位符替代。实际上绝大多数时候这一项都是如此。这个位置用于记录浏览者的标识,这不只是浏览者的登录名字,而是浏览者的 email地址或者其他唯一标识符。这个信息由identd返回,或者直接由浏览器返回。很早的时候,那时Netscape 0.9还占据着统治地位,这个位置往往记录着浏览者的email地址。然而,由于有人用它来收集邮件地址和发送垃圾邮件,所以它未能保留多久,很久之前市场上几乎所有的浏览器就取消了这项功能。因此,到了今天,我们在日志记录的第二项看到email地址的机会已经微乎其微了。 第三项也是e800。这个位置用于记录浏览者进行身份验证时提供的名字。所以如果网站的某些内容要求用户进行身份验证,那么这项信息是不会空白的。但是,对于大多数网站来说,日志文件的大多数记录中这一项仍旧是空白的。 第四项是请求的时间。这个信息用方括号包围,而且采用所谓的"公共日志格式"或"标准英文格式"。因此,上例日志记录表示请求的时间是2014年11月10日16:27:19。时间信息最后的"+0800"表示服务器所处时区位于UTC之后的8小时。 第五项信息或许是整个日志记录中最有用的信息,它告诉我们服务器收到的是一个什么样的请求。该项信息的典型格式是"METHOD RESOURCE PROTOCOL",即"方法 资源 协议"。 RESOURCE是指浏览者向服务器请求的文档,或URL。在这个例子中,浏览者请求的是"/stats/awstats.pl?config=e800 "。METHOD是GET,其他经常可能出现的METHOD还有POST和HEAD。此外还有不少可能出现的合法METHOD,但主要就是这三种。PROTOCOL通常是HTTP,后面再加上协议的版本号。 第六项信息是状态代码。它告诉我们请求是否成功,或者遇到了什么样的错误。大多数时候,这项值是200,它表示服务器已经成功地响应浏览器的请求,一切正常。常见的状态码有304(请求的资源没有被修改过,直接从缓存中取得),404(请求的资源不存在),301(请求的地址被重定向)。一般地说,以2开头的状态代码表示成功,以3开头的状态代码表示由于各种不同的原因用户请求被重定向到了其他位置,以4开头的状态代码表示客户端存在某种错误,以5开头的状态代码表示服务器遇到了某个错误。 第七项表示发送给客户端的总字节数。它告诉我们传输是否被打断(即,该数值是否和文件的大小相同)。把日志记录中的这些值加起来就可以得知服务器在一天、一周或者一月内发送了多少数据。 第八项记录的是远程主机在提出请求时所在的目录或URL。这次的是"http://www.codetc.com/res/"即www.codetc.com的res目录下的首页。大多数情况下,首页会是在httpd.conf中DocumentRoot 指令后面规定的那些类型和名字的web文件。 第九项表示客户端的详细信息,这样你就不难理解为什么有些网站能够在页面中显示你的IP、OS、Browser了。如果你细心留意访问日志里的该项记录,你会发现如Baiduspider/2.0, Googlebot/2.1,360spider之类的信息,其实这就是搜索引擎spider程序的访问记录,所以我们也可以通过分析访问日志来分析搜索引擎爬虫的爬行记录,这对SEO的优化也有一定的帮助
文章来源 CODETC,欢迎分享,转载请注明地址:
http://www.codetc.com/article-45-1.html
|