和我一起学《HTTP权威指南》——Web服务器
Web服务器
Web服务器会做些什么
- 1.建立连接(接受或关闭一个客户端连接)
- 2.接收请求(读取HTTP报文)
- 3.处理请求(解释请求报文并采取行动)
- 4.访问资源
- 5.构建响应(创建带有正确首部的HTTP响应报文)
- 6.发送响应
- 7.记录事务处理过程(将已完成事务有关的内容记录在日志文件中)
1.接受客户端连接
处理新连接
客户端请求TCP连接---->Web服务器建立连接--->服务器判断是哪一个客户端,从TCP连接中解析出IP地址--->服务器将新连接添加到Web服务器连接列表中,监视连接上的数据传输
客户端主机名识别
用反向DNS
配置Web服务器:将客户端IP地址转换为客户端主机名
2.接收请求报文
读取数据并解析请求报文
3.处理请求
收到请求,可根据方法资源首部和可选的主体部分对请求进行处理
4.对资源的映射及访问
Web服务器是资源服务器。(发送预先创建好的内容或运行在服务器上的资源生成程序所产生的动态内容)
发送之前,将请求报文中的URI映射为Web服务器上适当的内容或内容生成器
4.1docroot
Web服务器的文件系统中会有一个特殊的文件夹专门存放Web内容,叫文档的根目录(document root,docroot)
4.2动态内容资源的映射
服务器将URI映射为动态资源,映射到按需动态生成内容的程序上去。
5.构建响应
服务器识别出资源,执行请求方法中的描述的动作,返回响应报文。
5.1重定向
服务器返回重定向响应,服务器将浏览器重定向到其他地方执行请求。
重定向响应由返回码3XX
说明
例如,很多网站都有多个域名,如锤子的官网就有
t.tt
和www.smartisan.com
两个,t.tt会重定向到smartisan.com这个域名。
6.发送响应
服务器有很多条到各个客户端的连接,有些空闲,有些在向服务器发送数据,有些在向客户端回送响应数据。服务器要记录连接的状态。
7.记录日志
事务结束后,服务器在日志文件中添加一个条目描述已执行的事务。