文章目录
Web服务器会对HTTP请求进行处理并提供响应
一、Web服务器基本
1.实现
web服务器实现了HTTP和相关的TCP连接处理.负责管理Web服务器提供的资源,以及对Web服务器的配置,控制及扩展方面的管理.
2.通用软件Web服务器
3.Web服务器设备
4.嵌入式Web服务器
二·、web服务器工作流程
建议连接->接收请求->处理请求->访问资源->构建响应->发送响应->记录事务处理过程
1.接受客户端连接
(1)处理新连接
(2)客户端主机名识别
(3)通过ident确定客户端用户
2.接收请求报文
连接上有数据到达时,Web服务器会从给网络连接中读取数据,并将请求报文中的内容解析出来.
(1)解析报文过程
解析请求行,查找请方法,指定的资源标识符(URI)以及版本号,各项之间由一个空格分隔,并以一个回车换行(CRLF)序列作为行的结束.
读取CRLF结尾的报文首部
检测到以CRLF结尾的,标识首部结束的空行
如果有的话,读取请求主体
(2)连接的输入/输出处理结构
单线程web服务器,一次只处理一个请求,直到其完成为止.
多进程及多线程Web服务器,用多个进程,或更高效的线程同时对请求进行处理.
复用I/O的服务器,只有在有事情可做的时候才会对连接进行处理,在空闲连接上等待的时候不会绑定线程和进程.
复用的多线程Web服务器,多个线程中的每一个都在观察打开的连接,并对每条连接执行少量的任务.
3.处理请求
4.对资源的映射及访问
5.构建响应
一旦Web服务器识别出了资源,就执行请求方法中描述的动作,并返回响应报文.响应报文种包含有响应状态码,响应首部和响应主体(有的话)
(1)响应实体内容
描述响应主体MIME类型的Content-Type首部
Content-Length
实际报文的主体内容
(2)重定向
- 永久搬离的资源
- 临时搬离的资源
- URL增强
- 负载均衡
- 服务器关联
- 规范目录名称