mirror of https://github.com/woai30231/http.git
e55f47a1c4 | ||
---|---|---|
.. | ||
readme.md |
readme.md
内容提要
- 本章主要介绍了代理缓存和服务器日志记录的一些情况,以及怎么解决代理缓存问题造成日志记录出现遗漏的问题!
为什么需要日志记录
- 几乎所有的服务器和代理都会记录下它们所处理的HTTP事务摘要。这么做出于一系列的原因:跟踪使用情况、安全性、计费、错误检验,等等。
那些内容该记录
- 如果把访问的点点滴滴都一五一十的记录下来,是一个很没有意义的过程,暂且不说有的网站的事务量超大到难以计数的问题,把全部信息记录下来,这个日志文件可想得多大。就是日志记录对我们的需求而已,因为的有的数据对我们来说意义不大,甚至可能看都不会看一眼,所以有选择性的记录一些内容变得很重要。通常,只记录事务的基本信息就行了。通常会记录下来的几个字段示例为:
-
HTTP方法:主要记录事务用了什么方法
-
客户端和服务器的HTTP版本:给出客户端和服务器有关的提示,比如兼容性提示什么的
-
所请求资源的URL:记录Web站点某个资源的访问频率和受欢迎程度
-
响应的HTTP状态码:主要说明请求的执行情况成功与否
-
请求和响应报文的尺寸(包含所有的实体主体部分):记录大小
-
事务开始时的时间戳:记录发生时间
-
Referer首部和User-Agent首部的值:主要记录从那个页面跳过来以及用户代理
日志格式
- 大部分http程序都支持管理者配置日志格式,以便于更好地利用已有工具对日志进行处理,从而方便汇总。
常用日志格式
- 以下是常用格式字段
remotehost 请求端机器的主机名或IP地址(如果没有配置服务器去执行反
向DNS或无法查找请求段的主机名,就使用IP地址)
username 如果执行了ident查找,就是请求端已认证的用户名
auth-username 如果进行了认证,就是请求端已认证的用户名
timestamp 请求的日期和时间
request-line 精确的HTTP请求行文本,GET /index.html HTTP/1.1
response-code 响应中返回的HTTP状态码
response-size 响应主体中的Content-Length,如果响应中没有返回主体,就记录0
组合日志格式
-
组合日志格式与常用日志格式很类似。实际上,它就是常用日志格式的精确镜像,只是添加了两个字段。User-Agent字段用于说明是哪个HTTP客户端应用程序在发起已被记录的请求,而Referer字段则提供了更多与请求端在何处找到这个URL的有关信息。
-
新加的组合日志格式字段
Referer Referer首部的内容
User-Agent User-Agent首部的内容