HTTP Proxy及相关应用开发

上传人:我*** 文档编号:136306384 上传时间:2020-06-27 格式:PPT 页数:25 大小:335.50KB
返回 下载 相关 举报
HTTP Proxy及相关应用开发_第1页
第1页 / 共25页
HTTP Proxy及相关应用开发_第2页
第2页 / 共25页
HTTP Proxy及相关应用开发_第3页
第3页 / 共25页
HTTP Proxy及相关应用开发_第4页
第4页 / 共25页
HTTP Proxy及相关应用开发_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《HTTP Proxy及相关应用开发》由会员分享,可在线阅读,更多相关《HTTP Proxy及相关应用开发(25页珍藏版)》请在金锄头文库上搜索。

1、Http代理及相关应用开发,北京高阳圣思园信息技术有限公司应用研发部 李长茂 2009年5月,主要内容,Http协议及Http代理基本介绍 Http代理服务器工作流程及程序结构 终端使用Http代理连接外网的方式 以EDC为例,介绍Http代理相关的应用开发 Http代理相关的服务器端的开发,Http Request Message 格式,请求行,例如GET /images/logo.gif HTTP/1.1,表示从/images 目录下请求logo.gif 这个文件。 (请求)头,例如Accept-Language: en 空行 可选的消息体 请求行和标题必须以 作为结尾。空行内必须只有而无

2、其他空格。在HTTP/1.1 协议中,所有的请求头,除Host外,都是可选的。,Http/1.1 请求方法,OPTIONS HEAD GET POST PUT DELETE TRACE CONNECT,Http状态码,所有 HTTP 响应的第一行都是状态行, 依次是当前 HTTP 版本号,3位数字组成的状态代码,以及描述状态的短语,彼此由空格分隔。 状态代码的第一个数字代表当前响应的类型: 1xx 消息请求已被服务器接收,继续处理 2xx 成功请求已成功被服务器接收、理解、并接受 3xx 重定向需要后续操作才能完成这一请求 4xx 请求错误请求含有词法错误或者无法被执行 5xx 服务器错误服务

3、器在处理某个正确请求时发生错误,HTTP客户端与服务器之间会话的例子,客户端请求: GET / HTTP/1.1 Host: 服务器应答: HTTP/1.1 200 OK Content-Length: 3059 Server: GWS/2.0 D ate: Sat, 11 Jan 2003 02:44:04 GMT Content-Type: text/html Cache-control: private Set-Cookie: PREF=ID=73d4aef52e57bae9:TM=1042253044:LM=1042253044:S=SMCc_HRPCQiqy X9j; expires

4、=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain= Connection: keep-alive (紧跟着一个空行,并且由HTML格式的文本组成了Google的主页),什么是代理服务器?,普通的因特网访问是一个典型的客户机/服务器结构:用户本地计算机上的客户端程序如浏览器发生请求,远端WWW 服务器程序响应请求并提供相应的数据。而代理处于客户机和服务器之间,对于服务器来说,Proxy是客户机,提出请求;对于客户机来说,Proxy是服务器,它接受请求并提供数据。,代理服务器的作用,安全屏障、内容过滤、访问控制 提高网络性能 多机共享一个IP地址 用户管

5、理 通过代理服务器可以访问一些不能直接访问的网站,HTTP CONNECT代理,不是所有的HTTP代理都只能代理HTTP的 HTTP CONNECT代理服务器是一种能够允许用户建立TCP连接到任何端口的代理服务器,这意味着这种代理不仅可用于HTTP,还包括FTP,RM流服务等,Http代理服务器的工作流程,Http代理服务器程序框架结构示例,终端使用Http代理连接外网的方式,常见的支持Http代理的终端:IE浏览器、QQ、MSN等 终端使用Http代理连接外网的方式 终端本身不支持Http代理,也不支持socks5,采用sockscap+socks2http方式 终端本身支持socks5,可

6、以采用socks2http方式 终端本身支持http代理,Http代理相关的应用开发_以EDC为例,Http代理相关的应用开发_EDC终端,需要做相关开发的模块包括SIP模块、RTP模块、MSRP模块,Http代理相关的应用开发_EDC SIP模块,添加TCP收发模块 添加Http消息封包及解封包 添加与Http2Socks服务器的信息交互 Sip消息、Sdp消息相关字段的修改(Contact、Via等),Http代理相关的应用开发_EDC Rtp模块,添加TCP收发模块 Http消息封包及解封包 Http消息包体内容包括Rtp消息的最终目的接收者的IP地址、端口及Rtp消息,Http代理相关

7、的应用开发_EDC Msrp模块,MSRP协议基本介绍 相关的RFC: RFC4975 The Message Session Relay Protocol RFC4976 Relay Extensions for the Message Session Relay Protocol,Http代理相关的应用开发_EDC Msrp模块,2使用MSRP进行文件传送的典型拓扑结构,Http代理相关的应用开发_EDC Msrp模块,3使用MSRP进行文件传送的基本流程,Http代理相关的应用开发_EDC Msrp模块,4使用MSRP进行文件传送的SDP消息示例 v=0 o=alice 28908445

8、26 2890844526 IN IP4 s= c=IN IP4 t=0 0 m=message 7654 TCP/MSRP * i=This is my latest picture a=sendonly a=accept-types:* a=path:msrp:/:7654/jshA7we;tcp a=file-selector:name:My cool picture.jpg” type:image/jpeg size:32349 hash:SHA:72245FE8653DDAF371362F86D471913EE4A2CE2E a=disposition:inline a=file-d

9、ate:creation:Mon, 15 May 2006 15:01:31 +03:00 a=icon:cid:id2 a=byte-range:1-32349,Http代理相关的应用开发_EDC Msrp模块,5 MSRP消息示例 MSRP a786hjs2 SEND To-Path: msrp:/:12763/kjhd37s2s20w2a;tcp From-Path: msrp:/:7654/jshA7weztas;tcp Message-ID: 87652491 Byte-Range: 1-25/25 Content-Type: text/plain Hey Bob, are you

10、there? -a786hjs2$ MSRP a786hjs2 200 OK To-Path: msrp:/:7654/jshA7weztas;tcp From-Path: msrp:/:12763/kjhd37s2s20w2a;tcp -a786hjs2$,Http代理相关的应用开发_EDC Msrp模块,5当需要把一个大消息分成几个小的消息传送时的MSRP消息 Message-ID: 456 Byte-Range: 1-4/8 Content-Type: text/plain abcd -dkei38sd+ “+”号表示后面还有消息内容 “$”表示消息完整 MSRP dkei38ia SE

11、ND Message-ID: 456 Byte-Range: 5-8/8 Content-Type: text/plain EFGH -dkei38ia$ 一般一次传送消息大小最大为2K.,Http代理相关的应用开发_EDC Msrp模块,流程修改(进行文件传送前,先向http2socks服务器请求msrp中继服务) http封包及解封包 文件数据的重新组包,Http2Socks服务器设计说明,功能要求 监听请求端口,处理分配端口的请求,将分配的端口(msrp中继服务不用返回端口)返回给终端; 建立一个UDP套接字,与分配的端口绑定,监听该端口;将从该UDP套接字接收到的消息包打包成http格式,再通过与终端保持的TCP连接转发出去 ; 处理收到的终端发过来的消息包,取出消息包内容与目的服务器地址,将消息包通过之前建立的UDP套接字转发到目的服务器地址(PS服务器将响应发送到请求消息IP包源地址,所以不能通过其他套接字转发请求消息) 性能要求 大容量消息并发实时处理(包括UDP和TCP) 7*24小时服务 可靠消息处理,Http2Socks服务器程序结构,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号