HTTP 1.0 与 HTTP 1.1 的区别

在使用 httperf 的时候, 看到了 HTTP 1.0 / 1.1 的概念, 之前没有相关知识, 查询了一下:

 

1. 持久连接:

HTTP 1.0 时代:

Browser Client 与 Web Server 建立一个 TCP connection, 就只能发送一个 request。换句话说, 每发送一个 request 就需要建立一个 TCP connection.

于是, 当一个页面中包含大量图片链接时, 每下载一个图片就需要建立一个 TCP connection. 可以想象, 每次建立 一个 TCP connecton 必然非常耗时。就好像数据库连接池就是为了减少每次都建立 connection 的时间一样。

 

HTTP 1.1 时代:

在每个 TCP connection 上, Browser Client 可以发送多个 request, 返回顺序会依据发送的顺序。

在每个 request 的 HTTP 头信息里, 会制定是否 keep alive 当前的 TCP connnection.  如果是 close, 将关闭 connection.

 

2. 指定 host :

HTTP 1.0 时代:

默认认为一个 IP 只能对应一个 HOST, 实际上一个 IP 能对应多个 HOST, 在不同的端口上。

 

HTTP 1.1 时代:

可以在 HTTP 头里指定 HOST.

例如:

GET /home.html HTTP/1.1

HOST: example1.org

 

other:

python2.6 urllib2.urlopen 默认使用HTTP1.1

 

参考:

http://hex.iteye.com/blog/207864

你可能感兴趣的:(html,Web,Blog)