网站服务器如何处理客户端请求,实际的Web服务器处理客户端请求的步骤分析

第一步——接受客户端连接

接受一个客户端连接,或者如果不希望与这个客户端建立连接,就将其关闭。

第二步——接收请求报文

从网络中读取一条HTTP请求报文

解析报文1. 解析请求行,查找请求方法、指定的资源标识符(URI)以及版本号,各项之间由一个空格分隔,并以一个回车换行(CRLF)序列作为行的结束;

2. 读取以CRLF结尾的报文首部;

3. 检测到以CRLF结尾的、标识首部结束的空行(如果有的话);

4. 如果有的话(长度由Content-Length首部指定),读取请求主体。

报文的内部表示法

有些Web服务器还会用便于进行报文操作的内部数据结构来存储请求报文

bVcSIZj

连接的输入/输出处理结构

不同的Web服务器结构会以不同的方式为请求服务

单线程Web服务器

一次只处理一个请求,直到其完成为止。一个事务处理结束之后,才去处理下一条连接

多进程及多线程Web服务器

服务器会为每条连接分配一个线程/进程;但当服务器同时要处理成百、上千,甚至数以万计的连接时,需要的进程或线程数量可能会消耗太多的内存或系统资源。因此,很多多线程Web服务器都会对线程/进程的最大数量进行限制。

复用I/O的服务器

Web服务器都采用了复用结构。在复用结构中,要同时监视所有连接上的活动。当连接的状态发生变化时(比如,有数据可用,或出现错误时),就对那条连接进行少量的处理;处理结束之后&#x

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值