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代理服务器源代码带有详细注释。
BuyVM商家属于比较老牌的服务商,早年有提供低价年付便宜VPS主机还记得曾经半夜的时候抢购的。但是由于这个商家风控非常严格,即便是有些是正常的操作也会导致被封账户,所以后来陆续无人去理睬,估计被我们风控的抢购低价VPS主机已经手足无措。这两年商家重新调整,而且风控也比较规范,比如才入手他们新上线的流媒体优化VPS主机也没有不适的提示。目前,BuyVM商家有提供新泽西、迈阿密等四个机房的VPS主机...
看到群里网友们在讨论由于不清楚的原因,有同学的网站无法访问。他的网站是没有用HTTPS的,直接访问他的HTTP是无法访问的,通过PING测试可以看到解析地址已经比较乱,应该是所谓的DNS污染。其中有网友提到采用HTTPS加密证书试试。因为HTTP和HTTPS走的不是一个端口,之前有网友这样测试过是可以缓解这样的问题。这样通过将网站绑定设置HTTPS之后,是可以打开的,看来网站的80端口出现问题,而...
易探云怎么样?易探云是目前国内少数优质的香港云服务器服务商家,目前推出多个香港机房的香港云服务器,有新界、九龙、沙田、葵湾等机房,还提供CN2、BGP及CN2三网直连香港云服务器。近年来,许多企业外贸出海会选择香港云服务器来部署自己的外贸网站,使得越来越多的用户会选择易探云作为网站服务提供平台。今天,云服务器网(yuntue.com)小编来谈谈易探云和易探云服务器怎么样?具体香港云服务器多少钱1个...