




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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: 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 the
10、re? -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 SEND
11、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格式,再通过与终端保持的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2020-2025年安全员之B证(项目负责人)全真模拟考试试卷A卷含答案
- 企业审计实务教学课件
- 第四节产品的包装与储运PackingStoringandT
- 叙事作文教学课件
- Brand KPIs for milk:Milky Mist in India-英文培训课件2025
- 口腔种植学介绍课件教案
- 小学生科普课程课件
- 2025年初中科学教师课程标准考试测试卷及答案
- 2025年新初二英语人教新版学困生专题复习《连词成句》
- 工业互联网平台量子密钥分发技术在智慧医疗领域的应用与挑战报告
- 幼儿园卫生检查表
- 19S406建筑排水管道安装-塑料管道
- 北师大版八年级物理上册课件【全册】
- 单位(子单位)工程安全和功能检验资料核查及主要功能抽查记录
- nord stage 2用户手册简体中文版
- 2023年医疗质量第二季度分析报告
- SB/T 10439-2007酱腌菜
- GB/T 19016-2021质量管理项目质量管理指南
- 88版干部履历表
- 1IEC62660-1中文电动道路车辆用二次锂离子蓄电池锂离子电池性能试验
- 中国慢性髓性白血病诊疗指南更新
评论
0/150
提交评论