From e55f47a1c49322156b3a90f0a99f3910a5f52501 Mon Sep 17 00:00:00 2001 From: Jianfeng <554830231@qq.com> Date: Wed, 16 Nov 2016 10:57:10 +0800 Subject: [PATCH] ++++++++++ --- readme.md | 2 +- 第二十一章 日志记录与使用情况跟踪/readme.md | 67 ++++++++++++++++++++- 2 files changed, 67 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index 5f3ea67..1208233 100644 --- a/readme.md +++ b/readme.md @@ -58,4 +58,4 @@ ### *[第二十章 重定向与负载均衡](https://github.com/woai30231/http/tree/master/%E7%AC%AC%E4%BA%8C%E5%8D%81%E7%AB%A0%20%E9%87%8D%E5%AE%9A%E5%90%91%E4%B8%8E%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1)* -### *[第二十一章 日志记录与使用情况跟踪]()* \ No newline at end of file +### *[第二十一章 日志记录与使用情况跟踪](https://github.com/woai30231/http/tree/master/%E7%AC%AC%E4%BA%8C%E5%8D%81%E4%B8%80%E7%AB%A0%20%E6%97%A5%E5%BF%97%E8%AE%B0%E5%BD%95%E4%B8%8E%E4%BD%BF%E7%94%A8%E6%83%85%E5%86%B5%E8%B7%9F%E8%B8%AA)* \ No newline at end of file diff --git a/第二十一章 日志记录与使用情况跟踪/readme.md b/第二十一章 日志记录与使用情况跟踪/readme.md index 928f50b..7aeaf5f 100644 --- a/第二十一章 日志记录与使用情况跟踪/readme.md +++ b/第二十一章 日志记录与使用情况跟踪/readme.md @@ -1,3 +1,68 @@ ## 内容提要 -* 本章主要介绍了代理缓存和服务器日志记录的一些情况,以及怎么解决代理缓存问题造成日志记录出现遗漏的问题! \ No newline at end of file +* 本章主要介绍了代理缓存和服务器日志记录的一些情况,以及怎么解决代理缓存问题造成日志记录出现遗漏的问题! + +### 为什么需要日志记录 + +* 几乎所有的服务器和代理都会记录下它们所处理的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首部的内容 + +``` + +#### 网景扩展日志格式 \ No newline at end of file