HTTP代理服务器的设计与实现

一、前言

这个实验挺麻烦的,本来就只有一周时间,等我开始着手准备的时候,也就剩两三天了,也没什么心情自己重头开打代码,于是就找了大佬的代码借鉴了一下,在验收之前处理完了所有的bug。不过,我觉得这个实验还是最好自己慢慢想,想到问题再去搜索,能收获到更多,可以对socket编程和http代理服务器的实现有着更深的理解。以下报告,如有错误,感谢指正!

二、实验结果

1、基本代理服务器的实现

首先我们先手动设置代理福服务器,IP地址为127.0.0.1,端口设为10240,与程序中监听端口保持一致。

在未运行程序时,无法访问http://today.hit.edu.cn网站。

当程序执行时,代理服务器便正常工作,能将数据报文发给客户端,最终页面显示成功。至此,基本代理服务器的功能便实现完成。

2、设计支持Cache功能的HTTP代理服务器

当我们打开今日哈工大的网站之后,本地中立刻出现了cache文件,同时在我们的程序窗口中也显示了文件名以及缓存成功的提示。

 

当我们再次访问http://www.today.hit.edu.cn/网站时,我们加载的速度会比第一次快一点,而且在窗口中也显示,我们本次是通过获取本都缓存来加载的页面。

3、扩展http代理服务器

(a)网页过滤

我们将http://www.hit.edu.cn/作为过滤的网站,当我们打开程序,访问这个网址时,会提示无法运作,在我们的控制台中也显示提示信息禁止访问。说明成功实现网站过滤。

(b)用户过滤

我们把本机代理服务器的IP地址设为禁用,即禁用127.0.0.1,然后运行程序,发现当识别到与禁用地址相同时,会退出程序,成功实现了用户禁用。

(c)网站引导

我们一开始设置的网站引导是访问http://pku.edu.cn/重定向到 http://today.hit.edu.cn/,然后启动程序,访问pku.edu.cn,经过处理后直接赚到了今日哈工大的页面,至此,网站引导功能完成。

三、结尾

 文章最后,附上我借鉴的两位大佬的原博客,感谢二位。

HTTP 代理服务器的设计与实现_rocketeerLi的博客-CSDN博客

计算机网络之HTTP代理服务器_love_green的博客-CSDN博客_计算机网络代理服务器

最后的最后,附上我的源码

https://github.com/tu-gou/httpProxy/blob/master/httpProxy/httpProxy.cpp

  • 9
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值