什么是HTTP/超文本传送协议

  WWW建立在因特网上并且使用因特网协议族,是Web协议集中的重要协议。HTTP是客户机/服务器的传送协议,特别设计用于支持超媒体信息系统。客户机/服务器是运行一对相互通信的程序,客户与服务器连接时,首先,向服务器提出请求,服务器根据客户的请求,完成处理并给出响应。浏览器就是与Web服务器产生连接的客户端程序,它的端口为TCP的80端口。浏览器与Web服务器之间所遵循的协议就是HTTP。该协议是一种通信协议,在Web浏览器和Web服务器之间建立连接,且管理信息交换。


(资料图)

  HTTP首次出现在1990年,即HTTP O.9版本。它适用于各种数据信息的简洁快速协议,但是远不能满足日益发展各种应用的需要。HTTP/0.9作为HTTP协议具有典型的无状态性:每个事务都是独立进行处理的,当一个事务开始就在客户与服务器之间建立一个连接,当事务结束时就释放这个连接。随后,出现了HTTP 1.O版本。基本协议是无状态的,说明客户机和服务器在会话期间不存储关于对方的信息。客户机和服务器连接,服务器传输请求的信息,然后连接关闭。服务器不必知道关于客户机的任何信息。它只提供请求的信息。

  HTTP/1.0成为最重要的面向事务的应用层协议。在这个版本里,Web页上的每个对象(例如图像)要求建立一个新的连接以传输该对象。它的特点是简单、易于管理,所以它符合了大家的需要,得到了广泛的应用。缺点是对用户请求响应慢、网络拥塞严重、安全性低等。而HTTP 1.1版本增加了连续性,这使客户机/服务器连接更有效。连续性允许客户机和服务器保持连接(不为状态所迷惑),直到传输完一个Web页上的所有对象。然后连接关闭。

  HTTP1.1版本也支持在浏览器中的高速缓冲存储器管理。基本上,一个服务器页对应于一个浏览器高速缓冲存储器中的一页,只发送需要更新的项。它严格全面,既可以减少时间延迟、又节省了带宽。测试表明HTTP 1.1使下载次数改进了大约50%,且减少了超过50%的数据分组的数量。

  HTTPl.1包括一个功能,即缓解了一些因特网IP地址耗尽的问题。一个在HTTP标题中的字段允许分配给单个IP地址多个域名。

  另外,HTTP/1.1服务器端处理请求时按照收到的顺序进行,这就保证了传输的正确性。当然,服务器端在发生连接中断时,会自动的重传请求,保证数据的完整性。

  HTTP连接

  HTTP是在客户机和服务器之间建立通信且在这两个系统之间传递信息的请求/响应协议。基于HTTP协议客户/服务器模式的信息交换过程,它分为四个过程:建立连接、发送请求信息、发送响应信息、关闭连接。HTML(现在是XML)是文档格式化语言。当客户在浏览器的地址字段里键入服务器的URL(或IP地址)时,HTTP协议定位该地址且建立一个到指定的Web服务器上的端口80(典型的)的连接。Web服务器自动地返回它的默认页(通常是一个称为HOME.HTML或INDEX.HTML的HTML文件)。图H-3描述了该过程。

  首先,在DNS(域名系统)服务器里查找这个Web站点的IP地址。名字转换成IP地址,且IP地址返回到Web浏览器。然后,Web浏览器直接连接到位于该IP地址的Web服务器。

  这时,服务器将对该URL的尾端( Public/Info.Html)作出相应。它在公共目录里检索info.html文件,并通过IP传输该文件到Web浏览器。然后,Web浏览器解释文件里的HTML信息并显示它。作为本过程的一部分,Web服务器可能给Web客户机提供额外的信息,例如使用的HTTP版本、关于请求的状态信息(找到项了吗?)和定义媒体格式(文本、声音、图片、视频等)的MIME(多用途因特网邮件扩充)类型。

  HTTP安全连接

  使用S-HTTP(安全HTTP)协议或SSL (安全套接层)可以确保HTTP的安全。安全会话加密信息以防止窃听。确保会话安全通常需要用户或Web站点有证书,该证书由认证机构(CA)如VeriSign(www.verisign.com)颁发。

  S-HTTP是HTTP的安全版本, 是一种面向安全信息通信的协议,以和 HTTP 结合起来使用。 S-HTTP 能与 HTTP 信息模型共存并易于与 HTTP 应用程序相整合,并提供多种可以确保Web客户和服务器之间事务安全的安全机制。S-HTTP保持了已有的HTTP事务处理模型。

  S-HTTP 不需要客户端公用密钥认证(或公用密钥),但它支持对称密钥的操作模式。

  然而,Web浏览器供应商如Microsoft和NetscapeHowever从来没有完全接受S-HTTP。一个类似的称为SSL (安全套接层)协议反而更流行。SSL是一种在客户端和服务器端之间建立安全通道的协议,提供同样的身份验证和加密功能,但是SSL增加了一个功能,即可以加密所有的在客户机和服务器之间的IP套接层传输的数据,消除用户的安全顾虑。

  SSL 以对称密码技术和公开密码技术相结合,可以实现如下三个通信目标:秘密性、完整性和认证性。

  IETF的TLS (传输层安全)协议是一个类似SSL的协议,该协议由IETF的Transport Layer Security (tls,传输层安全)工作组开发。

  RFC2617,″HTTP Authentication″(June,1999)提供了一个HTTP的身份验证框架规范。RFC2818,″HTTP over TLS″(May, 2000)描述了如何使用TLS(传输层安全)以确保因特网上HTTP连接的安全。RFC2817,″Upgrading to TLS Within HTTp/1.1〞(May,2000)描述了在HTTP/l.1里如何使用升级机制以在已有的TCP连接上创建TLS。

  HTTP开发

  HTTP的不足之处使之在因特网上运行复杂的商业应用程序是困难的。Java和ActiveX已经提供了大量程序功能;但是,对于关键的商业事务,有必要保持高度的数据完整性、可靠性和安全性。在企业内联网和企业外联网上,这些是事务监视器可以处理的进程,但是使这样的监视器在因特网上工作是个问题。

  RFC2774,″An HTTP Extension Framework″(February,2000)描述如何用软件组件动态扩展HTTP。其他两个有趣的RFC包括RFC2964,〞Use of HTTP Management″(Oct.2000)和RFC2965, 〞HTTP State Management Mechanism〞(Oct.2000)。

  一些供应商已经提出了基本上绕过HTTP的中间件解决方案。最初,用户通过HTTP访问Web服务器。下载一些初始的组件到用户的系统,通过因特网在该客户机和应用服务器之间提供中间件功能。基本上,在Web服务器完成设置用户的工作后,就没有它的工作了。所有进一步的交互是通过中间件直接在客户机和应用服务器之间进行的。

  RPC2756,″HyPe Text Caching Protocol″(Jan.2000)描述HTCP,一个关于搜索HTTP高速缓冲存储器和高速缓存数据、管理各个HTTP高速缓冲存储器组并且监视高速缓冲存储器活动的协议。

  “URN(通用资源名)”和“处理系统”主题描述“文档连续性”(不要和前面描述的连接持续性混淆)。文档连续性保证文档查找不依赖于文档的URL地址。换言之,即使文档移到一个有不同URL的新地址,也可以找到由超级链接指定的目标文档。

  RFC2518,″HTTP Extensions for Distributed Authoring-WEBDAV〞(Feb.1999)描述了HTTP1.1协议的一个扩展,该扩展允许客户执行远程Web内容创作。

关键词: 电子电路 电子电路图 HTTP/超文本传送