Web服务器项目一

文章目录

    • 是什么
    • HTTP协议——应用层协议
    • 服务器基本框架
    • 两种高效的处理模式
    • 线程池

是什么

Web服务器是一个服务器软件程序,主要功能是通过HTTP协议与客户端(通常是浏览器Browser)进行通信,来接收,存储,处理来自客户端的HTTP请求,并对其请求做出HTTP响应,返回给客户端其请求的内容(文件、网页等)或者返回一个Error信息。这一通信过程首先要客户端通过TCP协议的三次握手建立与目标Web服务器的连接,然后HTTP协议生成针对目标Web服务器的HTTP请求报文,通过TCP,IP等协议发送到目标Web服务器上,然后目标Web服务器通过HTTP协议生成响应数据,通过TCP/IP等协议发送给客户端。
Web服务器项目一_第1张图片

HTTP协议——应用层协议

Web服务器项目一_第2张图片
请求和响应消息的头以ASCII形式给出;
消息内容则是具有一个类似MIME的格式;

Web服务器项目一_第3张图片

Web服务器项目一_第4张图片
URL:网址链接
Web服务器项目一_第5张图片
Web服务器项目一_第6张图片
Web服务器项目一_第7张图片
Web服务器项目一_第8张图片

Web服务器项目一_第9张图片

GET请求和POST请求的区别?
GET向指定的资源发送显示请求,POST向指定资源提交数据,请求服务器进行处理。

服务器基本框架

Web服务器项目一_第10张图片
Web服务器项目一_第11张图片

两种高效的处理模式

服务器通常处理三件事:IO事件、信号及定时事件
两种高效的事件处理模式:Reactor和Proactor,通常同步IO模型用于实现Reactor模式,异步IO模型用于实现Proactor模式,但也可以通过同步IO模拟出Proactor模式。
Web服务器项目一_第12张图片
Web服务器项目一_第13张图片

模拟Proactor模式
Web服务器项目一_第14张图片
区别在于工作线程做的事情,
Reactor模式的工作线程是要做IO的读写操作的;
Proactor模式交给工作线程处理的时候,数据已经读写读完了,读写操作都是在主线程完成,工作线程并没有参与。

线程池

Web服务器项目一_第15张图片
Web服务器项目一_第16张图片

你可能感兴趣的:(Linux,服务器,运维)