项目地址:https://code.csdn.net/sakeven/httpproxy
第一个月的实习期,马上就要结束了,在这里总结下。
本人做的项目是用golang实现带缓存的HTTP代理服务器。
第一个月大致完成以下功能:
- 支持内容缓存和重校验
- 支持GET\POST\CONNECT等方法
- 支持账号登入与验证
- 支持配置文件
- 提供web版管理和调试界面
- 支持反向代理
在这一个月里,本人还算是比较空闲的,所以可以有很多时间花在这个项目上,项目的进展也比较快。遇到的问题其实不是很多,因为程序本身写的比较简单。在前期主要完成的是对HTTP
GET\POST\CONNECT等方法的支持,这是代理运行的基础,这部分网上的解决方案挺多的,可以查阅相关资料比较快速的完成。后期一个比较重要的功能实现是
支持内容缓存和重校验,这方面的知识可以通过查阅《HTTP 权威指南》完成,但是难度还是比较大,目前只是实现将内容缓存在内存中,内存的消耗会比较大,同时缓存的清理是通过定期检查完成的,缓存策略也比较简单,这部分导师也给出了很多建议,我将在第二个月的实习期中对其进行一些优化。还有就是测试问题,我都是习惯手动测试orz,这不是个好习惯,但是对一个web服务器测试,我也不是太会写测试脚本。
说下第二个月的安排:
0.完成终期检查的最后一个功能,资源的限定
1.对程序本身的一些优化,内存泄露、cache的更新和存储的优化
2.增加测试用例
3.完成代码注释和文档