HTTP应用可分为三种类型:HTTP客户程序 HTTP服务器程序 服务器端应用程序
(1).HTTP客户程序
可以看做是一种用户代理,它的作用就是代表用户和Web服务器进行交互,以实现下载文档、提交消息等目的
典型的HTTP客户程序有:Web浏览器、Web文档下载程序(其用途主要是采用断点续传、多线程下载手段帮助用户快速、高效地从服务器下载资源)、Web Robot(用于信息检索、资源发现等目的而对Web进行遍历,从某个或某些URL开始沿着Web上 的超链接采用深度优先或广度优先的方法来下载所有的Web页面)
HTTP客户程序实际上是HTTP协议内容的部分实现,因此要能够开发HTTP客户程序,必须理解HTTP协议中给出的客户和服务器的交互机制,以及各种消息的语法和语义规范
Web浏览器基本结构概览:
1.用户接口,接受用户的输入,并将服务器返回的响应展示给用户
2.用户输入解析器,对用户进行解析,并将解析结果传送给控制部分
3.控制部分,浏览器核心部分,负责协调各个部件的运作
4.HTTP客户,与HTTP服务器的访问
5.其它客户,如FTP
6.HTML解析器
7.其它解析器,如脚本js
8.格式发显示,将解析结果输出到可视化界面供用户浏览
(2)、HTTP服务器程序
1.HTTP服务器:为用户提供服务,如返回文档等。也是对HTTP协议内容的部分实现。除此之外,还要具备与服务器端程序交互的功能,如把客户提交的消息传递给CGI程序或其他脚本(ASP PHP Python等)等服务器端应用程序,以及接受这些程序的输出结果
2.HTTP代理:HTTP客户和服务器之间的中介,在开发HTTP代理时必须要同时实现HTTP协议对客户和服务器的要求
(3)、服务器端应用程序:
服务器端应用程序的作用是根据用户提交的信息实时地生成动态的Web内容,为了实现这一目标,服务器端应用程序必须遵循特定的接口规范(如CGI或ISAPI),接受Web服务器传递来的参数信息(http请求消息中的头字段或实体),并将处理结果返回给Web服务器。
此外,服务器端应用程序还必须具备访问数据库或者访问E-mail等其他Internet服务的功能
HTTP应用开发方法:
应用程序通常建立在系统提供的应用编程接口之上。按照使用API抽象层次的不同,我们将HTTP应用程序开发方法分为两种:
1.使用网络层上的编程接口,如Socket API。
2.使用应用层上的编程接口,如Windows平台的WinInet函数库和Internet Transfer ActiveX控件等