C Web Server 从简单到复杂逐步实践与学习
jopen
9年前
本篇记录着自己从使用 Web 服务器的感知到逐步认识和实现 Web 的过程。
Web 服务器基础工作原理了解实践篇
本篇因为是在PHP基础之上实现的,功能简单,重点在于体现Web服务器和客户端的请求与响应的一个大致的过程。
静态版示意图
动态版本加上了 Web 容器对客户端请求的 URI 通过 CGI 做解析,然后服务器在本地执行相应的程序获得结果,然后返回给客户端
静态 C Web Server 实践篇(循环服务器)
实验一: http://mengkang.net/563.html 通过该版本的学习熟悉了 socket 系列api。
实验二: http://mengkang.net/568.html 之后又在原来的基础之上融入了 select I/0多路转接的特性,对原有的静态服务器进行了“改进”,但是更卡了,因为多了一步select的判断。发现这个野路子纯属瞎折腾,并没有什么用。但是在这个实验中发现了,只有当客户端连接过来之后 listenfd 才有数据可读,才能进入都到select 的 fd_set 中去,而其中的具体过程留着后面深入学习。
静态 C Web Server 实践篇
实验一: http://mengkang.net/571.html 不限制子进程个数的多进程并发模型
实验二: http://mengkang.net/576.html 预先分配子进程个数的多进程并发模型
实验三:预先分配子线程的多线程并发模型
静态 C Poll Web Server 的实践篇
未完成
静态 C Epoll Web Server 的实践篇
未完成
动态 C Epoll Web Server 的实践篇
未完成