网页服务器
接收、存储,处理来自客户端的HTTP请求,并对其请求做出HTTP响应。
Web服务器底层是基于tcp协议的,因为要保证数据安全。
服务器编程基本框架
模块:
IO处理单元:处理客户连接,读写网络数据
逻辑单元:业务进程或线程
网络存储单元:数据库、文件或缓存
请求队列:各单元之间的通信方式
两种高效的事件处理模式
需要处理三类事件:IO事件、信号及定时事件
reactor模式
同步IO模型实现reactor模式
主线程只监听文件描述符上是否有事件发生,有的话就立即将该事件通知工作线程(逻辑单元),将socket可读可写事件放入请求队列,交给工作线程处理。
proactor模式
异步IO模型实现proactor模式
同步IO模拟Proactor模式
主线程执行数据读写操作,读写完成之后,主线程向工作线程通知这一完成事件。