http

《HTTP权威指南》每章的知识点总结

View the Project on GitHub lvzhenbang/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


组合日志格式

	Referer            Referer首部的内容

	User-Agent         User-Agent首部的内容

网景扩展日志格式

	proxy-response-code            如果事务处理经历了某个代理,就是从服务器传往代理的HTTP响应码

	proxy-response-size            如果事务处理经历过了某个代理,就是发送给代理的服务器响应实体
								   的Content-Length

	client-request-size 		   发给代理的客户端请求的所有主体或实体的Content-Length

	proxy-request-size			   如果事务处理经历过了某个代理,就是代理发往服务器的
								   请求的所有主体或者实体的Content-Length

	client-request-hdr-size		   以字节为单位的客户端请求首部的长度

	proxy-response-hdr-size		   如果事务处理经过了某个代理,就是以字节为单位的,发送给请求
								   端的代理响应首部的长度

	proxy-request-hdr-size         如果事务处理经历过了某个代理,就是以字节为单位的,发送
								   给服务器的代理请求首部的长度

	server-response-hdr-size       以字节为单位的,服务器响应首部的长度

	proxy-timetamp				   如果事务处理经历过了某个代理,就是请求和响应经过代理
								   传输所经过的时间(单位为秒)

网景扩展2日志格式

	route                           代理用来向客户端发送请求的路径

	client-finish-status-code       客户端完成状态码。说明了发送给代理的客户端请求
									是成功完成(FIN)了,还是被打断了(INTR)

	proxy-finish-status-code		代理完成状态码,说明代理发送给服务器的请求是成功完成(FIN)
									了,还是被打断了(INTR)

	cache-result-code				缓存结果代码;说明缓存是如何响应请求的

Squid代理日志格式

	timestamp            请求到达时的时间戳,是从格林尼治标准时间1970年
						 1月1日开始的秒数

	time-elapsed		 请求和响应通过代理传输所经历的时间(以毫秒为单位)

	host-ip				 客户端(请求端)主机的IP地址

	result-code/status   result字段是Squid类型的,用来说明在此请求过程中代理
						 采取了什么动作,code字段是代理发送客户端的HTTP响应代码

	size 				 代理响应客户端的字节长度,包括HTTP响应首部和主体

	method               客户端请求的HTTP方法

	url                  客户端请求中的URL

	rfc931-ident         客户端经过认证的用户名

	hierarchy/from       与网景格式中的route字段一样,hierarchy字段说明了代理向客户端
						 发送请求时经由的路径。from字段说明了代理发起请求时的服务器名称

	content-type 		 代理响应实体的Content-Type


命中率测量