文档详情

http代理服务器课程设计报告.doc

发布:2017-12-04约1.21万字共18页下载文档
文本预览下载声明
目 录 一、绪论 1 二、需求分析 2 三、详细设计 5 四、软件测试 9 五、设计小结 10 参考文献 11 附录 11 一、绪论 本次课设主要要做的是要理解winsock技术网络编程的技术,分析http代理应用程序设计原理,然后选择合适的开发环境用winsock技术来设计http代理的应用程序。 首先先简单的介绍几个相关名词的基本概念: 1.Winsock Windows下网络编程的规范-Windows Sockets是Windows下得到广泛应用的、开放的、支持多种协议的网络编程接口已成为Windows网络编程的事实上的标准Windows Sockets规范本意在于提供给应用程序开发者一套简单的API,并让各家网络软件供应商共同遵守。此外,在一个特定版本Windows的基础上,Windows Sockets也定义了一个二进制接口(ABI),以此来保证应用Windows Sockets API的应用程序能够在任何网络软件供应商的符合Windows Sockets协议的实现上工作。因此这份规范定义了应用程序开发者能够使用,并且网络软件供应商能够实现的一套库函数调用和相关语义。www对于每一个上网的人都再熟悉不过了,www连接请求就是采用的http协议,所以我们在浏览网页,下载数据(也可采用ftp协议)是就是用http代理。它通常绑定在代理服务器的80、3128、8080等端口上HTTP协议即超文本传输协议,是Internet上进行信息传输时使用最为广泛的一种非常简单的通信协议。部分局域网对协议进行了限制,只允许用户通过HTTP协议访问外部网站。代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息。形象的说:它是网络信息的中转站。在一般情况下,我们使用网络浏览器直接去连接其他Internet站点取得网络信息时,须送出Request信号来得到回答,然后对方再把信息以bit方式传送回来。   代理服务器是介于浏览器和Web服务器之间的一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,Request信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。而且,大部分代理服务器都具有缓冲的功能,就好象一个大的Cache,它有很大的存储空间,它不断将新取得数据储存到它本机的存储器上,如果浏览器所请求的数据在它本机的存储器上已经存在而且是最新的,那么它就不重新从Web服务器取数据,而直接将存储器上的数据传送给用户的浏览器,这样就能显著提高浏览速度和效率。 更重要的是:Proxy Server(代理服务器)是Internet链路级网关所提供的一种重要的安全功能,它的工作主要在开放系统互联(OSI)模型的对话层。Winsocket函数: Windows?的Socket函数有许多,?我没有做详细介绍,?这里的函数都是简要说明其用途,?这里的主要目的是为了后面的三个应用服务。 函数说明:? WSAStartup函数? 初始化Winsock? [声明]? int?WSAStarup(WORD?wVersionRequested,LPWSADATA?lpWSAData);? [参数]? wVersionRequested?-?要求使用Winsock的最低版本号? lpWSAData?-?Winsock的详细资料? [返回值]? 当函数成功调用时返回0? 失败时返回非0的值? socket函数? 用于生成socket(soket?Descriptor)? [声明]? SOCKET?socket(int?af,int?type,int?protocol);? [参数]? af?-?地址家族(通常使用:AF_INET)? type?-?socket的种类? SOCK_STREAM?:?用于TCP协议? SOCK_DGRAM?:?用于UDP协议? protocol?-?所使用的协议? [返回值]? 当函数成功调用时返回一个新的SOCKET(Socket?Descriptor)? 失败时返回INVALID_SOCKET.? inet_addr函数? 地址转换,?把A.B.C.D的IP地址转换为32位长整数? [声明]? unsigned?long?inet_addr?(?const?char?FAR?*cp?);? [参数]? cp?-?指向IP地址字符串的指针? [返回值]? 当函数成功调用时返回用32位整数表示的IP地址? 失败时返回INADDR_NONE.? gethostbyname函数? 从主机名获取主机信息.? [声明]? struct?hostent?FAR?*?gethostbyname?
显示全部
相似文档