第一、建立连接
接受一个客户端连接
第二、接受请求报文
web服务器会从网络连接中读取数据,并将请求报文中的内容解析出来
web服务器处理结构分类:
- 单线程web服务器
- 多线程web服务器
- 复用的I/O服务器
- 复用的多线程web服务器
第三、处理请求
一旦web服务器收到了请求,就可以根据方法、资源和首部来对请求进行处理
第四、对资源的映射及访问
web服务器是资源服务器,负责发送预先创建好的资源
第五、构建响应
web服务器识别出资源后,就执行请求方法中描述的动作,并且构建响应状态码、响应首部、响应主题
响应报文通常包括:
- MIMEL类型的content-type
- content-length
- 实体内容
重定向:
web服务器有时会返回重定向响应而不是成功的报文,可以将浏览器重定向到其他地方去执行请求,状态码是3XX,重定向可能出现如下几种情况:
1.永久搬离的资源 ,状态码是301
2.临时搬离的资源,如果资源被临时移走或重命名,服务器可能希望将客户端重定向到新的位置上去,但因为是临时的,服务器希望客户端仍然会使用老的URL,并且收藏夹的url也不会发生变化,返回303状态码
第六、发送响应
服务器跟客户端会有多个连接,有些事空闲的,有些事持久的,对非持久连接,发送报文后,应该关闭。
对于持久连接,要正确地计算content-length,否则客户端就不知道什么时候响应结束了,因为多个HTTP请求在一个TCP连接上跑,对于多媒体类型,用分块传输的方式,如果content-length错误,事务处理的另一端就无法精确地检测出一条报文的结束和另一条报文的开始
第七、记录日志
Web服务器的功能
时间: 2024-10-19 07:00:37