HTTP协议经典讲解

来源:互联网 发布:淘宝网家装日记 编辑:程序博客网 时间:2024/05/20 16:43

转载http://www.ciitn.com/chanye/xitong/android/20110708_1847.html
一、什么是HTTP协议

HTTP协议是一种应用层协议,HTTP是HyperText Transfer Protocol(超文本传输协议)的英文缩写。HTTP可以通过传输层的TCP协议在客户端和服务器之间传输数据。HTTP协议主要用于Web浏览器和Web服务器之间的数据交换。我们在使用IE或Firefox浏览网页或下载Web资源时,通过在地址栏中输入http://host:port/path,开头的4个字母http就相当于通知浏览器使用HTTP协议来和host所确定的服务器进行通讯。

HTTP协议诞生于上世纪90年代初;第一个被广泛使用的版本是HTTP0.9。这个最初的版本非常简陋,它只向服务器发送一个非常简单的请求,而服务器也会返回一个很简单的响应以及相应的HTML文本。在随后的HTTP1.0中,增加了很多在HTTP0.9中没有的特性,如增加了资源重定位,大量的状态响应码等。在最新的HTTP1.1中,对HTTP1.0做了更进一步的改进,除了增加了一些请求方法外,最大的改进就是可以使HTTP保持连接状态。这对于一些频繁传输数据的应用是非常有益的。由于HTTP协议已经达到了它的目标,因此,负责制定规范的W3C已经停止了对HTTP的改进(和HTTP相关的协议或扩展并未停止),所以,HTTP1.1将是HTTP协议的最后一个版本。

无论你是从事网络程序开发,还是Web开发,或是网站的维护人员;都必须对HTTP协议有一个比较深入的了解。因此,HTTP协议不仅是Internet上应用最为广泛的协议,也是应用协议家族中比较简单的一种入门级协议;而且所有的Web服务器无一例外地都支持HTTP协议。这也充分地说明,对于那些开发网络程序,尤其是开发各种类型的Web服务器的开发人员,透彻地掌握HTTP协议将对你所开发的基于HTTP协议的系统产生直接的影响。

由于本文的目的并不是讲解HTTP协议,因此,只讨论了HTTP协议的主要部分,如果读者对HTTP协议感性趣,并想深入了解HTTP协议,请查看RFC2616或通过www.w3c.org来了解HTTP协议的详情。

二、HTTP的工作方式

HTTP协议采用了请求/响应的工作方式。基于HTTP1.0协议的客户端在每次向服务器发出请求后,服务器就会向客户端返回响应消息(包括请求是否正确以及所请求的数据),在确认客户端已经收到响应消息后,服务端就会关闭网络连接(其实是关闭TCP连接)。在这个数据传输过程中,并不保存任何历史信息和状态信息,因此,HTTP协议也被认为是无状态的协议,图1描绘了HTTP1.0协议的通讯过程。
原创粉丝点击