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代理服务器源代码带有详细注释。
vpsdime上了新产品系列-Windows VPS,配置依旧很高但是价格依旧是走低端线路。或许vpsdime的母公司Nodisto IT想把核心产品集中到vpsdime上吧,当然这只是站长个人的猜测,毕竟winity.io也是专业卖Windows vps的,而且也是他们自己的品牌。vpsdime是一家新上来不久的奇葩VPS提供商,实际是和backupspy以及crowncloud等都是同一家公司...
MechanicWeb怎么样?MechanicWeb好不好?MechanicWeb成立于2008年,目前在美国洛杉矶、凤凰城、达拉斯、迈阿密、北卡、纽约、英国、卢森堡、德国、加拿大、新加坡有11个数据中心,主营全托管型虚拟主机、VPS主机、半专用服务器和独立服务器业务。MechanicWeb只做高端的托管vps,这次MechanicWeb上新Xeon W-1290P处理器套餐,基准3.7GHz最高...
Megalayer 商家在之前也有记录过,商家开始只有提供香港站群服务器和独立服务器,后来也有增加到美国独立服务器,以及前几天也有介绍到有增加香港VPS主机。对于香港服务器之前有过评测(Megalayer香港服务器配置一览及E3-1230 8GB服务器评测记录),这里申请到一台美国独立服务器,所以也准备简单的评测记录。目前市场上我们看到很多商家提供VPS或者云服务器基本上没有什么特别的,但是独立服...