神秘果 on 十二月 16th, 2008

HTTP(Hypertext Transfer Protocol)超文本传输协议约定了WEB服务器(如Apache)与浏览器(如IE)之间的数据交互格式。HTTPTCP/IP模型的应用层:

 

是一个一般的、无状态的、基于对象的协议,通过对其请求方法(request methods)进行扩展,可以被用于多种用途,比如命名服务器(name server)及分布式对象管理系统。HTTP的一个特性是其数据表现类型允许系统的构建不再依赖于要传输的数据。  

HTTP版本

HTTP/0.9:最早的版本,仅支持简单的请求和应答;

HTTP/1.0:目前使用比较多的版本;

HTTP/1.1:支持持久连接Persistent Connection),增加了许多安全认证(HTTPS://…)、状态管理、Cache缓存机制等。

 

HTTP/1.1 RFChttp://www.w3.org/Protocols/rfc2616/rfc2616.html

HTTP/1.0 RFChttp://www.w3.org/Protocols/rfc1945/rfc1945

 

持久连接的理解

假设一个页面包含10个图片,要下载这10个图片:

HTTP/1.0:一次连接只能下载一张,下载10个图片,就要连接10完成下载。

HTTP/1.110个图片可以在一次连接中连续下载。也就是说在同一个TCP连接下,完成页面内多个图片的连续传输。持久连接是在同一个页面内而言的,两个不同的页面下载就必须建立两个不同的连接了。

持久连接通过在HTTP协议头的Connection字段来指定。

可见持久连接优点:减少TCP连接数量;在一个连接上实现HTTP请求和应答的流水,即允许客户端发出多个请求,而不必在接收到前一请求的应答后才发出下一请求,极大减少时间消耗。