HTTP是Hypertext Transfer Protocol的简称,即:超文本传输协议。在TCP/IP协议簇中的一百多个协议中,HTTP协议可以说是平常接触最多的一种协议了。因为日常浏览网页时所使用的浏览器浏览,其基本的协议类型就是HTTP协议。HTTP协议是一个客户端/服务器协议,这里所说的服务器端是指提供WWW服务的主机,即各类Web站点等。而客户端是指运行各类浏览器(如IE、Netscape等)或者下载工具的主机。
HTTP协议从产生到目前,主要经历了三个发展阶段,也就是通常说的三个版本:HTTP 0.9、HTTP 1.0和HTTP 1.1版。HTTP 0.9版也是HTTP原始协议,它最早出现在1990年,由于它只是一个简单的面向消息的协议,所以很快一个新的HTTP协议版本出现了,即:HTTP 1.0版,这个版本在保持了对HTTP 0.9版本的兼容的同时,还增加了在复杂网络情况下,对不同的类型的对象服务能力。HTTP 1.1是在HTTP 1.0基础上发展下来的,它依然保持对HTTP 0.9和HTTP 1.0的兼容。和HTTP 1.0比较,主要改进的是性能、安全和数据处理方面。目前人们又开始提出了HTTP协议的下一个版本了,那就是HTTP-NG(Next Generation of HTTP)。在这个版本中,可以想象的是无论是性能、效率还是安全性都会有一个更大的提高。
在TCP/IP协议簇中的所有协议,.Net FrameWork SDK中对HTTP协议的支持是最全面的,具体表现在.Net FrameWork SDK为实现HTTP协议提供了许多专门的类。其数量之多,功能之全面是其他协议无可比拟的。Visual Basic .Net通过使用这些类,可以方便的实现各种HTTP协议功能。
一.HTTP协议会话:
HTTP协议是一个客户端/服务器协议,它是建立在请求/响应范式的,客户机和服务器完成一个HTTP会话主要通过以下四步:
1. 建立连接。建立连接是通过申请套接字(Socket)实现的。客户打开一个套接字并把它约束在一个端口(HTTP协议一般使用的是80端口)上,如果成功,就相当于建立了一个虚拟文件。以后就可以在该虚拟文件上写数据并通过网络向外传送。
2. 客户端发送请求。 在建立连接后,客户机会往服务器正在侦听的端口发送请求消息,完成提出请求动作。一个完整的请求消息=请求行和请求头,其中请求头包括包括用户可以接受的数据类型、压缩方法、语言、长度、压缩方法、最后一次修改时间、数据有效期等。大多数请求头并不是必需要定义的,但对于POST请求命令来说Content-Length就必须定义。一个请求行的结构如下:
请求命令 请求URI HTTP版本号
其中的HTTP协议中的请求命令见表01所示。图01是利用侦听方法获得的客户端IE浏览器向WWW主机发送请求命令。
图01:IE浏览器向WWW主机发送请求行命令
请求命令 |
功能 |
GET |
请求一个WWW页面或者URI资源 |
HEAD |
要求服务器查找某对象的元信息,而不是对象本身 |
PUT |
从客户机向服务器传送数据,在要求服务器和CGI做进一步处理时会用到POST方法。POST主要用于发送HTML文本中FORM的内容,让CGI程序处理 |
POST |
附加资源 |
DELETE |
删除操作 |
LINK |
连接二个存在的资源 |
UNLINK |
切断二个已有的资源连接 |
表01:HTTP协议中客户端的请求命令
3. 服务器进行响应。服务器在处理完客户的请求之后,要向客户机发送响应消息。其响应消息是由状态行和应答头组成的。其中应答头包括服务程序名,通知客户请求的URI需要认证,请求的资源何时能使用等。状态行的主要结构如下:
HTTP版本号 状态码 原因叙述
其中最常见的状态码是“200”和“404”,下面是服务器响应客户端的一个请求通过的状态行:
HTTP/1.1 200 OK
下面是服务器响应客户端的一个请求失败的状态行:
HTTP/1.1 404 Object Not Found
4. 关闭连接。
在下面的内容中将使用Visual Basic .Net通过.Net FrameWork SDK提供的类来模拟IE浏览器中发送的请求行命令以及获取WWW主机返回的状态行信息。首先还是先了解一下.Net FrameWork SDK为在Visual Basic .Net实现HTTP协议所提供的类。
分享到:
相关推荐
总之,这个教程将带你深入XML Web服务的世界,通过Visual Basic .NET和Visual C#.NET,你可以构建出强大的分布式应用程序,实现跨平台、跨网络的通信。结合MCAD-MCSD的认证学习路径,这将极大地提升你的.NET开发技能...
通过以上介绍可以看出,在Visual Basic .NET中实现串口通信不仅可以应用于各种测控系统中,还能极大地提高工作效率和系统的灵活性。开发者需要熟练掌握`SerialPort`类的使用方法,并结合具体应用场景设计合理的数据...
《Visual Basic .NET网络程序设计——TCPIP与Internet Programming》是一本深入探讨如何使用Visual Basic .NET进行网络编程的专业书籍。这本书着重讲解了利用VB.NET进行TCP/IP通信和Internet编程的关键技术,对于...
《Visual Basic.NET经典案例开发教程》是一本专为学习和掌握Visual Basic.NET编程技术而编写的实战指南。这本书深入浅出地介绍了如何利用VB.NET进行应用程序的开发,旨在帮助读者从理论到实践全面理解VB.NET的精髓。...
在IT领域,Visual Basic.NET(VB.NET)是一种基于.NET Framework的编程语言,由微软公司开发。它是Visual Basic的现代版本,具有更强大的功能和现代化的编程特性。在给定的"Visual Basic.NET案例代码"中,我们可以...
《Visual Basic.NET自动化系统监控—rs-232串行通信》是一本专注于利用Visual Basic.NET进行系统监控和实现rs-232串行通信技术的书籍。在现代信息技术中,自动化系统监控对于提高效率、减少错误和实现远程操作至关...
《Visual Basic.NET程序设计教程》是由陈语林编著的一本深入浅出的编程教材,主要针对初学者和有一定基础的程序员,旨在教授如何使用Visual Basic.NET进行应用程序开发。这本电子教案涵盖了VB.NET的基础知识、语法...
《Visual Basic.NET入门经典》是一本专为初学者设计的编程教材,主要涵盖了VB.NET的基础知识和实践应用。这本书的随书源码包含了各种实例,旨在帮助读者更好地理解和掌握VB.NET编程技巧。以下是对这些源码文件的知识...
Visual Basic.NET是.NET Framework的一部分,它提供了强大的编程工具和丰富的类库,使得开发者可以快速构建桌面和Web应用程序。其中,"第1秠 Visual Basic.NET疄撰特性梂軰"主要介绍了以下几点: 1. **面向对象编程...
Visual Basic .NET(VB.NET)是Microsoft开发的一种面向对象的编程语言,它是.NET框架的一部分,提供了丰富的功能和易用性,使得开发者能够构建桌面、Web和移动应用程序。本教程聚焦于Visual Basic .NET的实用编程,...
#### 一、Visual Basic.NET简介 Visual Basic.NET(简称VB.NET)是Microsoft推出的一种基于.NET框架的面向对象编程语言。它继承了Visual Basic早期版本易学易用的特点,并且在.NET框架的支持下,能够构建出功能强大...
《Visual.Basic.NET经典开发案例》是一本专注于VB.NET编程实践的资源集合,旨在帮助开发者深入理解和应用VB.NET语言进行实际项目开发。通过一系列精选的案例,本书覆盖了VB.NET编程的多个重要方面,包括基础语法、...
在Visual Basic.NET中,串行化被广泛用于应用程序的状态保存、配置文件存储以及分布式系统的数据交换。 串行化的基本过程包括两个主要步骤:序列化和反序列化。序列化是指将对象的状态转换为字节流的过程,而反序列...
《Visual Basic.NET 实用编程技术》是一本专为开发者设计的指南,旨在深入探讨和实践使用Visual Basic.NET进行软件开发的技术。这本书涵盖了.NET框架的基础,VB.NET语法特性,以及如何利用这些工具创建高效、功能...
Visual Basic(VB)是Microsoft开发的一种面向对象的编程语言,主要应用于Windows应用程序的开发。它以其易学易用的特点,成为初学者学习编程的理想选择。VB.NET是VB的现代版本,基于.NET Framework,提供了更强大的...
Visual Basic .NET作为一种强大的开发工具,在实现自动化监控系统方面具有显著优势。 **自动化监控系统的组成**通常包括数据采集模块、数据处理模块和显示控制模块等。使用VB.NET可以轻松实现这些功能: - **数据...
《Visual Basic.NET应用编程150例》是一本专注于教授如何使用Visual Basic.NET进行实际编程的书籍。VB.NET是微软公司推出的.NET框架下的一种面向对象的编程语言,它继承了Visual Basic的强大易用性,并引入了许多...
Visual Basic.NET是微软公司推出的一种面向对象的编程语言,它是.NET框架的一部分,旨在提供更高效、更易用的开发环境。这个"Visual Basic.NET经典开发案例"集合可能包含了一系列使用VB.NET进行软件开发的实际示例,...