这是《深入理解计算机系统》配套实验之一:代理实验

其实在两年前,我已经完成了这个代理程序,后来《深入理解计算机系统》出了第三版,而代理实验内容也加入了缓存的要求。实验中只要求实现HTTP/1.0的GET方法多线程代理和简单的缓存机制,但其实如果只实现了实验内的要求的话,这个代理服务程序还是无法适应目前这个网络环境的,所以本文介绍的是关于代理实验的增强版本。

原理

时至今日,HTTP协议已经非常复杂,一些内容不太常见,本程序也就不会实现。在开始设计代理服务程序之前,需要了解一下常见的HTTP协议的内容:

Continue reading