第1章Web服务器开发基础 1
1.1 Web服务器简介 1
1.2 TCP与HTTP协议 1
1.2.1 TCP/IP协议族简介 1
1.2.2 HTTP协议 2
1.3 Socket编程 6
1.4开发环境与测试环境 14
1.4.1 GCC 14
1.4.2构建makefile 19
1.4.3调试代码GDB 20
1.4.4服务性能测试工具 26
1.4.5性能指标 27
实验1: Web服务器初步实现 28
第2章Web服务器的多进程和多线程模型 30
2.1背景介绍 30
2.2进程模型 30
2.2.1 Linux中进程创建相关函数 30
2.2.2 Linux中进程通信相关函数 32
2.2.3多进程Web服务器模型 40
实验2: Web服务器的多进程模型实现 42
2.3线程模型 42
2.3.1 Linux线程模型 42
2.3.2 POSIX线程库接口 43
2.3.3 Linux线程间同步与互斥 46
2.3.4 Web服务器的多线程模型 48
实验3: Web服务器的多线程模型 54
2.4线程池模型 55
实验4: Web服务器的线程池模型 60
2.5业务分割模型 60
实验5: Web服务器的业务分割模型 63
2.6混合模型 63
实验6: Web服务器的混合模型 66
第3章Web服务器的内存管理 67
3.1背景介绍 67
3.2 Web页面的缓存逻辑结构 68
3.3 Web页面的缓存置换算法 74
实验7: Web服务器页面缓存及其替换方法评估 81
3.4 Web服务器的内存管理模型 82
3.4.1 Linux内核内存管理模型 83
3.4.2 Linux用户库函数管理内存方法 91
3.4.3 Nginx内存管理模型 101
实验8: Web服务器的内存管理 102
第4章Web服务器的文件存储系统 104
4.1背景介绍 104
4.2 Linux中的Ext文件系统 104
4.2.1 Ext2文件系统结构 104
4.2.2 Ext2文件系统分析 106
4.3 TFS文件系统 107
4.3.1 TFS文件系统架构 107
4.3.2 TFS文件系统性能分析 110
实验9: Web服务器的文件系统 110