- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.9 HTTP应用 2.9.1 HTTP应用开发的分类 ?HTTP客户 ?HTTP服务器 ?服务器端应用程序 2.9.2 HTTP应用开发方法 ?使用Socket编程接口 ?使用动态链接库或ActiveX控件 本讲内容 2.9.3 使用控件开发HTTP客户端应用 ?Internet Transfer控件属性 ?Internet Transfer控件方法 ?Internet Transfer控件事件 2.9.4 使用WinInet开发HTTP客户端应用 ?示例 ?主要实现步骤 2.9.1 HTTP应用开发的分类 1.1 HTTP客户程序 ? HTTP协议作为Web的技术组件之一为Web的成功奠定了重要的基础它提供了客户和服务器进行交互的机制并对交互的语法和语义制定了统一的标准 ? Web上很多应用的开发都与HTTP协议有着关联或者围绕着HTTP协议展开或者需要HTTP协议的支持 ? 可以说HTTP协议贯穿了Web上多个层次的应用开发如图所示 ? 从该图中可以看出HTTP应用可以分为三种类型HTTP客户程序 2.9.1 HTTP应用开发的分类(续) – HTTP客户程序 ? HTTP客户程序可以看作是一种用户代理agent ,它的作用是代表用户和Web服务器进行交互,以实现下载文档提交信息等目的。 ? 一些典型的HTTP客户程序包括 ? Web浏览器:其用途主要是供用户浏览Web服务器上的HTML文档。例如Netscape Navigator Microsoft IE等 ? Web文档下载工具:其用途主要是采用断点续传多线程等手段帮助用户快速地从Web服务器上下载资源。例如NetAntsNet Vampire等 ? Web Robot: 其用途主要是出于信息检索等目的而对Web遍历,即从某个URL开始沿着Web上的超链采用深度优先或广度优先的方法来下载所有的Web页面。例如Altavista等搜索引擎中均使用了这种程序 2.9.1 HTTP应用开发的分类(续) HTTP客户程序的基本功能 虽然上述各个HTTP客户程序的作用和实现方法各不相同,但至少都具备以下两项基本功能: ? 与用户的交互 - 提供人机交互的手段可视化界面或者命令行方式供用户来表达其要求,同时将执行的结果展现给用户。 - 对于最终用户而言,要求他们掌握HTTP中的各种消息的语法和语义是不现实的,因此人机交互要尽可能地简单直观。例如在Web浏览器中,用户仅给出要浏览的Web页面的地址就可以看到该页面,至于使用HTTP协议来实现这一目的细节对用户是透明的,这些工作应该由HTTP客户程序代替用户完成。 2.9.1 HTTP应用开发的分类(续) ? 与服务器的交互 - 根据用户提出的要求按照HTTP协议规范和服务器进行交互,以完成用户的要求 - 处理如何和服务器建立连接,使用何种语法格式来发送请求消息、如何解释服务器的响应消息等问题。这一切都要遵循HTTP协议中给出的规定 可以看出,一个HTTP客户程序实际上是HTTP协议内容的部分实现。因此要能够开发HTTP客户程序就应该透彻地理解HTTP协议中给出的客户和服务器的交互机制,正确地掌握各种消息的语法和语义规范 需要说明的是除了要实现上述基本功能以外HTTP客户程序可能还要具备一些与HTTP协议本身无关的功能例如一个Web浏览器 除了能够根据用户的要求将指定的Web页面下载下来,还要能够按照HTML规范对该页面进行解析,并在可视化的界面上将其展现出来 2.9.1 HTTP应用开发的分类(续) 下面我们以Web浏览器为例对HTTP客户程序的内部结构进行粗略的分析 2.9.1 HTTP应用开发的分类(续) 该Web浏览器由以下几个部分组成: 用户接口:接收用户的输入,并将服务器返回的响应展示给用户。 用户输入解析器:对用户输入进行解析,并将结果传送给控制器。 控制部分:是Web浏览器的核心部分,负责协调各个部件的运作。 HTTP客户:如果用户的输入是要求访问HTTP服务器,那么就将其以HTTP请求消息的形式提交给服务器,并接收和解析服务器的响应。 其它客户用户:可能还会访问Internet上的FTP等服务,因此需要有基于相应协议的客户部分,例如FTP客户。 HTML解析器:如果服务器返回的消息中包含HTML文件,那么对其按照HTML语法进行解析。 其它解析器:如果HTML文件中包含脚本语言等成分,例如VBScript, 那么对其按照相应的规范进行解析,在后面的章节中我们将对VBScript进行详细讨论。 格式化显示:将解析结果输出到可视化界面上供用户浏览。 2.9.1 HTTP应用开发的分类(续) 1.2 HTTP服务器程序 – HTTP服务器 HTTP服务器程序的作用是为用户
文档评论(0)