`
soardragon
  • 浏览: 311900 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

Visual Basic .Net中实现HTTP协议(一)

阅读更多

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协议所提供的类。

分享到:
评论

相关推荐

    Visual.Basic.2010.&.NET4.高级编程(第6版)-文字版.pdf

    Visual.Basic.2010.&.NET4.高级编程(第6版)-文字版.pdf 第I部分 语言结构和环境 第1章 visual studio 2010 3 1.1 visual studio 2010:从express到ultimate的各种版本 4 1.2 visual basic的关键字和语法 7 ...

    Visual Basic .NET远程协助控件SDK

    基于VNC协议并扩展开发。将完整的窗口界面通过网络,传输到另一台计算机的屏幕上。可用于数量庞大的不同操作系统,简单,可靠,和向后兼容性。控件由服务端Activex WpRds....Visual Basic .NET语言开发包使用样例演示。

    通过SEND/RECEIVE协议与Visual Basic .NET OPC客户端的OPC通信

    OPC客户端由Microsoft Visual Basic .NET实现。 文档(英语) 文档可清楚地分为三个部分显示: 介绍:包含应用描述,功能原理,所需硬件和软件的详细情况,基本性能数据以及可替代解决方案列表 扩充:包含基础、详细...

    《Visual Basic 2008应用程序开发实例精讲》全书所有实例程序源代码

    第2章 visualbasic.net编程基础18 2.1 基础编程知识18 2.1.1 关键字及标识符18 2.1.2 数据类型20 .2.1.3 变量与常量24 2.1.4 自定义结构体26 2.1.5 数组27 2.1.6 运算符与表达式29 2.1.7 结构化控制语句32 2.2 面向...

    Visual Basic数据库开发实例精粹(PDF)

    客户管理系统 5.1 系统概述 5.2 系统设计 5.3 数据库设计 5.4 数据库的生成与配置 5.5 用Visual Basic开发客户管理事务处理组件 5.6 在客户管理系统中使用客户管理组件 5.7 客户管理主...

    VB.NET网吧计费系统软件(源代码+毕设+开题报告).zip

    本课题研究的网吧计费系统是一款基于C/S结构,采用Access 2003 数据库,利用Visual Basic.net设计开发的网吧计费系统。文中主要介绍了系统的基本功能和系统结构组成情况,内容包括系统需求分析、系统设计原则、系统...

    VB.NET实现TCPIP通讯转发功能程序源码

    资源名:VB.NET实现TCPIP通讯转发功能程序源码 资源类型:程序源代码 源码说明: 最近需要研究一个通讯,监视抓包的工具感觉不是很直观,网上找到的工具只能转发却看不到数据包内容,实在忍不了了。所以自己写了个,...

    vb.net实现TCP传输

    Visual Basic.Net实现TCP协议很好的东西,学习用,或许真的很有帮助

    VB.netwangluotongxin.zip_VB.NET TCP_VB.NET TCP通信_tcp_vb.net网络_网络

    通过VB.NET实现网络通信,本文的主要内容就来介绍在Visual Basic .Net实现基于TCP协议网络数据传送的一种简单的方法。

    VB.net 网络通讯实例

    虽然本实例用Visual Basic .Net实现一个简单的基于TCP协议的网络应用程序。但程序中使用的是NetworkStream作为载体,通过StreamWriter和StreamReader通过操作这个载体从而实现数据传输和接收。这种实现TCP协议方法...

    PowerTCP .NET Subscription--功能强大的网络通讯控件组件

    Microsoft Visual Basic .NET Microsoft Visual C++.NET Microsoft Visual C# .NET .NET Common Language Runtime V1.0 支持平台 WIN 98/NT/2000/XP 标准报价 27,590 元人民币 * 以上报价仅供参考,具体...

    asp.net知识库

    如何在Asp.Net1.1中实现页面模板(所谓的MasterPage技术) Tool Tip 示例(FILTER版) Tool Tip示例 (htc版) 一个.net发送HTTP数据实体的类 按键跳转以及按Enter以不同参数提交,及其他感应事件 动态控制Page页的...

    byaw.rar_网络_Visual_Basic.NET_

    一个读取支持modbus协议的设备的数据工具

    wefxult.zip_系统/网络安全_Visual_Basic.NET_

    网络通信协议分析与应用实现

    modbus TCP协议 VB通讯程序源码

    结合《开放型 MODBUS-TCP规范(中文版)》手册,开发环境:Visual Basic V6.0 sp6 ,使用Winsocket控件开发的modbus客户端,然后结合modbus服务器仿真软件(modbus poll 和 modscan32),进行离线仿真应答Modbus...

    ASP.NET的网页代码模型及生命周期

    语言为.NET网站中使用的语言,如果选择Visual C#,则默认的开发语言为C#,否则为Visual Basic。创建了ASP.NET网站后,系统会自动创建一个代码隐藏页模型页面Default.aspx。ASP.NET网页一般由三部分组成,这三个部分...

    VB2008应用程序开发实例精讲(光盘文件)

    第2章 VisualBasic.NET编程基础18 2.1 基础编程知识18 2.1.1 关键字及标识符18 2.1.2 数据类型20 2.1.3 变量与常量24 2.1.4 自定义结构体26 2.1.5 数组27 2.1.6 运算符与表达式29 2.1.7 结构化控制语句32 2.2 面向...

    irrKlang-1.0

    \example.net :Examples written for the .NET version of irrKlang, in C# and VisualBasic.NET \include: Header files to include when using the engine. \lib: Lib to link with your programs when using ...

    vbfileupload_visualbasic_

    两个VB点对点发送文件例子,原理基于TCP/IP协议

Global site tag (gtag.js) - Google Analytics