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