Web代理服务器的研究与实现
中文摘要 | 第1-5页 |
英文摘要 | 第5-6页 |
目录 | 第6-10页 |
第一章 引言 | 第10-14页 |
1.1 背景 | 第10-11页 |
1.2 web代理服务器的作用 | 第11-13页 |
1.3 论文内容组织 | 第13-14页 |
第二章 理论基础及相关协议 | 第14-34页 |
2.1 web代理服务器的基础理论 | 第14-20页 |
2.1.1 什么是web代理服务器 | 第14页 |
2.1.2 在什么地方实现缓存? | 第14-16页 |
2.1.3 三种典型的web代理服务器实施方案 | 第16-18页 |
2.1.4 典型的web代理服务器工作流程 | 第18-20页 |
2.1.5 理想的web代理服务器的标准 | 第20页 |
2.2 web代理相关的网络协议 | 第20-33页 |
2.2.1 URI,URL和URN | 第20-22页 |
2.2.2 HTTP协议 | 第22-26页 |
2.2.3 HTTPS协议与代理服务 | 第26-28页 |
2.2.4 DNS | 第28-33页 |
2.3 小结 | 第33-34页 |
第三章 WEB代理服务器缓存技术 | 第34-43页 |
3.1 可缓存性 | 第34-36页 |
3.2 缓存的一致性(Coherence)问题 | 第36-39页 |
3.2.1 支持缓存一致性的HTTP机制 | 第36-38页 |
3.2.2 如何维护缓存的一致性 | 第38-39页 |
3.3 缓存替换(Replacement)技术 | 第39-41页 |
3.3.1 为什么要研究缓存的替换 | 第39页 |
3.3.2 可以考虑的因素 | 第39-40页 |
3.3.3 现有的替换算法 | 第40-41页 |
3.4 预读(Prefetching)技术 | 第41-42页 |
3.5 小结 | 第42-43页 |
第四章 WEB代理服务器内部结构的研究 | 第43-57页 |
4.1 I/O模型 | 第43-44页 |
4.2 几种服务器结构 | 第44-52页 |
4.2.1 多进程 | 第45-47页 |
4.2.2 多线程 | 第47-49页 |
4.2.3 单进程事件驱动 | 第49-51页 |
4.2.4 设计方案的选择 | 第51-52页 |
4.3 网络非阻塞I/O中要考虑的问题 | 第52-55页 |
4.3.1 输入操作 | 第53页 |
4.3.2 输出操作 | 第53页 |
4.3.3 接收外来连接 | 第53页 |
4.3.4 外出的连接 | 第53-54页 |
4.3.5 异步I/O的实现 | 第54-55页 |
4.4 小结 | 第55-57页 |
第五章 基于SPED的WEB代理服务器的设计 | 第57-76页 |
5.1 设计目标及设计思想 | 第57页 |
5.1.1 设计目标 | 第57页 |
5.1.2 设计思想 | 第57页 |
5.2 web代理服务器框架 | 第57-60页 |
5.3 各个功能模块的详细设计 | 第60-75页 |
5.3.1 以文件描述符为中心的服务处理过程 | 第60-61页 |
5.3.2 服务器的心脏—事件驱动模块 | 第61-63页 |
5.3.3 定时事件管理模块 | 第63-64页 |
5.3.4 缓存的设计 | 第64-67页 |
5.3.5 DNS模块及DNS缓存设计 | 第67-68页 |
5.3.6 磁盘文件管理 | 第68-69页 |
5.3.7 预读模块 | 第69页 |
5.3.8 网络通信例程 | 第69-71页 |
5.3.9 访问控制 | 第71-72页 |
5.3.10 日志管理 | 第72页 |
5.3.11 内存管理模块 | 第72-75页 |
5.4 小结 | 第75-76页 |
第六章 WEB代理服务器的实现 | 第76-99页 |
6.1 事件管理的实现 | 第76-79页 |
6.1.1 异步I/O的实现 | 第76-78页 |
6.1.2 定时事件管理 | 第78-79页 |
6.2 HTTP请求处理 | 第79-87页 |
6.2.1 web代理服务器主循环 | 第79页 |
6.2.2 用户请求涉及的主要处理过程 | 第79-83页 |
6.2.3 HTTP请求方法的处理 | 第83-86页 |
6.2.4 连接远程主机 | 第86-87页 |
6.3 DNS模块 | 第87-91页 |
6.3.1 域名解析请求 | 第88-90页 |
6.3.2 域名缓存 | 第90页 |
6.3.3 域名请求解析过程 | 第90-91页 |
6.4 缓存管理 | 第91-96页 |
6.4.1 缓存表的管理 | 第91-92页 |
6.4.2 可以缓存的网页 | 第92-93页 |
6.4.3 缓存操作 | 第93-94页 |
6.4.4 缓存的替换 | 第94-95页 |
6.4.5 缓存表的重建 | 第95-96页 |
6.5 预读处理 | 第96-97页 |
6.6 系统资源限制 | 第97-98页 |
6.7 小结 | 第98-99页 |
第七章 功能及性能测试 | 第99-104页 |
7.1 功能测试 | 第99-100页 |
7.2 性能测试 | 第100-103页 |
7.3 小结 | 第103-104页 |
结论 | 第104-105页 |
参考文献 | 第105-106页 |
致谢 | 第106页 |