HTTP代理服务器的设计与实现
1、 实验目的
熟悉并掌握Socket网络编程的过程与技术
深入理解HTTP协议掌握HTTP代理服务器的基本工作原理
掌握HTTP代理服务器设计与编程实现的基本技能。
2、 实验环境
接入Internet的实验主机
Window s xp或Window s 7/8
开发语言 C/C++ 或Java等。
3、 实验内容
(1)设计并实现一个基本HTTP代理服务器。要求在指定端口例如8080接收来自客户的HTTP请求并且根据其中的URL地址访问该地址所指向的HTTP服务器原服务器接收HTTP服务器的响应报文并将响应报文转发给对应的客户进行浏览。
(2)设计并实现一个支持Cache功能的HTTP代理服务器。要求能缓存原服务器响应的对象并能够通过修改请求报文添加if-modified-sinc e头行 向原服务器确认缓存对象是否是最新版本。 选作内容加分项目可以当堂完成或课下完成
(3)扩展HTTP代理服务器支持如下功能 选作内容加分项目可以当堂完成或课下完成a) 网站过滤允许/不允许访问某些网站b)用户过滤支持/不支持某些用户访问外部网站c)网站引导将用户对某个网站的访问引导至一个模拟网站钓鱼。
4、 实验方式
每位同学上机实验实验指导教师现场指导。
5、 实验过程
1浏览器使用代理
为了使浏览器访问网址时通过代理服务器必须进行相关设置以IE浏览器设置为例打开浏览器工具浏览器选项连接局域网设置代理服务器具体过程如图1-1所示。
图1-1浏览器的代理服务器设置
2多线程使用
使用函数_b eginthreadex创建子线程使用函数_endthreadex结束线程详情见C S DN。
6、参考内容
代理服务器俗称“翻墙软件”允许一个网络终端一般为客户端通过这个服务与另一个网络终端一般为服务器进行非直接的连接。如图1-2所示为普通Web应用通信方式与采用代理服务器的通信方式的对比。
图1-2Web应用通信方式对比
代理服务器在指定端口 例如8080监听浏览器的访问请求需要在客户端浏览器进行相应的设置接收到浏览器对远程网站的浏览请求时代理服务器开始在代理服务器的缓存中检索URL对应的对象网页、图像等对象找到对象文件后提取该对象文件的最新被修改时间代理服务器程序在客户的请求报文首部插入<If-Modified-Since:对象文件的最新被修改时间>并向原Web服务器转发修改后的请求报文。如果代理服务器没有该对象的缓存则会直接向原服务器转发请求报文并将原服务器返回的响应直接转发给客户端同时将对象缓存到代理服务器中。代理服务器程序会根据缓存的时间、大小和提取记录等对缓存进行清理。
本实验需实现一个简单的HT TP代理服务器可以分为两个步骤 首先请设置浏览器开启本地代理注意设置代理端口与代理服务器监听端口保持一致。a)单用户代理服务器
单用户的简单代理服务器可以设计为一个非并发的循环服务器。首先代理服务器创建HT TP代理服务的TC P主套接字通过该主套接字监听等待客户端的连接请求。当客户端连接之后读取客户端的HT TP请求报文通过请求行中的URL解析客户期望访问的原服务器IP地址创建访问原目标服务器的TC P套接字将H T TP请求报文转发给目标服务器接收目标服务器的响应报文当收到响应报文之后将响应报文转发给客户端最后关闭套接字等待下一次连接。b)多用户代理服务器
多用户的简单代理服务器可以实现为一个多线程并发服务器。首先代理服务器创建HT TP代理服务的T CP主套接字通过该主套接字监听等待客户端的连接请求。当客户端连接之后创建一个子线程 由子线程执行上述一对一的代理过程服务结束之后子线程终止。与此同时主线程继续接受下一个客户的代理服务。
7实验报告
在实验报告中需要总结说明
1 Socket编程的客户端和服务器端主要步骤2HTTP代理服务器的基本原理
3HTTP代理服务器的程序流程图
4实现HTTP代理服务器的关键技术及解决方案5HTTP代理服务器实验验证过程以及实验结果6HTTP代理服务器源代码带有详细注释。
diyvm怎么样?diyvm商家VPS主机均2GB内存起步,三个地区机房可选,使用优惠码后每月69元起;DiyVM独立服务器开设在香港沙田电信机房,CN2线路,5M带宽,自动化开通上架,最低499元/月,配置是L5630*2/16G内存/120G SSD硬盘。DiyVM是一家成立于2009年的国人主机商,提供的产品包括VPS主机、独立服务器租用等,产品数据中心包括中国香港、日本大阪和美国洛杉矶等,...
tmhhost可谓是相当熟悉国内网络情况(资质方面:ISP\ICP\工商齐备),专业售卖海外高端优质线路的云服务器和独立服务器,包括了:香港的三网cn2 gia、日本 cn2、日本软银云服务器、韩国CN2、美国三网cn2 gia 云服务器、美国 cn2 gia +200G高防的。另外还有国内云服务器:镇江BGP 大连BGP数据盘和系统盘分开,自带windows系统,支持支付宝付款和微信,简直就是专...
horain怎么样?horain cloud是一家2019年成立的国人主机商家,隶属于北京辰帆科技有限公司,horain持有增值电信业务经营许可证(B1-20203595),与中国电信天翼云、腾讯云、华为云、UCloud、AWS等签署渠道合作协议,主要提企业和个人提供云服务器,目前商家推出了几款特价物理机,都是在内地,性价比不错,其中有目前性能比较强悍的AMD+NVMe系列。点击进入:horain...