一、问题
解释Web服务器是如何处理HTTP事务的
二、Web服务器
Web服务器会对HTTP请求进行处理并提供响应。Web服务器请求的七大步骤:
1)接受客户端连接
2)接收请求报文
3)处理请求
4)资源映射及访问
5)构建响应
6)发送响应
7)记录日志
1、接受客户端连接
1)处理新连接
客户端请求一条到Web服务器的TCP连接时,Web服务器会建立连接,判断连接的另一端是哪个客户端,从TCP连接中将IP地址解析出来。一旦新连接建立起来并接受,服务器就会将新连接添加到其现存Web服务器连接列表中,做好监视连接上数据传输的准备。Web服务器可以随意拒绝或立即关闭任意一条连接。有些Web服务器会因为客户端IP地址或主机名是未认证的,或者因为它是已知的恶意客户端而关闭连接。Web服务器也可以使用其他技术识别。
2)客户端主机名识别
可以用”反向DNS“对大部分Web服务器进行配置,以便将客户端IP地址转换成客户端主机名。Web服务器可以将客户端主机名用于详细的访问控制和日志记录。需要注意的是,主机名查找可能会花费很长的时间,这样会降低Web事务处理的速度。很多大容量的Web服务器会禁止主机名解析,或者只允许对特定内容进行解析。
可以用配置指令Hostnamelookups启用Apache的主机查找功能。如只打开HTML和CGI资源的主机名解析功能。HostnameLookups off
HostnameLookups on
3)通过ident确定客户端用户
服务器可以通过ident协议找到发起HTTP连接的用户名。这些信息对Web服务器的日志记录特别有用,流行的通用日志格式的第二个字段就包含了每条HTTP请求的ident用户名。