首页 > Web开发 > 详细

Web服务器处理请求过程浅谈

时间:2020-03-13 10:17:04      阅读:66      评论:0      收藏:0      [点我收藏+]

     晚上读到网络这本书的最后一个章节,描写有关Web服务器如何工作的内容,产生一些想法,遂加以记录。

     Web服务器整个接收客户端请求的过程,大致可以分为两个部分,第一个部分等待客户端连接,以及第二个部分处理与客户端的实际连接。具体的内容大致描述一下,首先OS读取Web服务器程序配置文件进行初始化配置,然后第一个等待连接部分,会调用OS里面的Socket库里面创建套接字的方法,通过描述符来标识套接字在内存中的具体位置,此时描述符1是Listen方法的返回值,协议栈再调用accept方法,参数是描述符1,返回描述符2。当有外部请求进入,调用第二个处理部分,与客户端的通信模块,这个类似于在内存堆(heap)中new出来一个新的通信模块对象,用来专门处理这个客户端的通信具体内容。然后协议栈程序继续循环到accept等待下一个请求状态。此时需说明一下, 当等待连接模块在处理第一个请求的时候,这个时候的等待连接模块处于一种暂挂的状态,不允许外部请求访问。

    上面描述的过程,可以类比为会所大堂的迎宾处,迎宾小姐先是在门店前等待,当客人一个个排好队的时候,先处理第一位客人,等这位客人一切手续办齐,号码牌登记都弄好,可以看作是套接字已经建好,这个时候前台的台账也会记录这位客人的详细资料,同样的服务器OS内核里面也有一张表,专门用来记录套接字的。办理妥当之后,后续的事情就交由服务工作者来具体的对客户进行相应的服务。而迎宾小姐继续等待下一位客人的到来。

   其实细想起来,当工作中碰到一些难以解决的问题时,这个时候最好脑洞开一下,想一想生活中的例子,然后联系系统的实际处理流程,没准能找到比较不错的解决方案呢。

  (PS:举例那一段纯属作者个人脑洞,帮助个人理解,如果想深层次探究具体的过程,建议还是老老实实看书为妙!)

 

Web服务器处理请求过程浅谈

原文:https://www.cnblogs.com/clare09/p/12484019.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!