-
它们的共同点是,请求与响应是成对出现的,客户端的一次请求一定会对应服务端的一次响应。它们的区别如下。
-
(1) HTTP 1.0
-
HTTP1.0协议中的连接属于非持久连接,一次TCP连接只能进行一次请求与响应。
-
一次请求与响应对应一个TCP连接
-
客户端只有在接收到服务器对上一次请求的响应后,客户端才可发出第二次请求。
-
HTTP1.0不支持对虚拟主机的访问。因为其没有HOST请求头属性,会将用户所发出的域名直接通过DNS转换为IP后,发送到服务端。也就是说,服务端接收到的直接就是个IP而非域名。
-
HTTP1.0协议中在客户端接收到服务端的响应后,马上发送关闭TCP连接的请求,服务端关闭连接。
-
(2)HTTP1.1
-
HTTP1.1支持持久连接,在一个TCP连接上可以传送多个请求与响应。
-
一般情况下,一个页面中的请求与响应对应一个TCP连接。
-
HTTP1.1还允许客户端不用等待上一次请求结果返回,就可以发出下一次请求。
-
HTTP1.1支持对虚拟主机的访问。其在请求头属性中增加了HOST属性,用于记录请求所要访问的虚拟域名。当然,请求中所携带的域名,肯定会通过DNS将其转换为IP,然后查找到相应的主机。但由于请求中还携带有HOST属性,即要访问的域名仍然在请求中,这样的话,服务器就可以从请求中解析出请求所要访问的虚拟主机名。
-
HTTP1.1协议中在客户端接收到对最后一次请求的响应后,马上发送关闭TCP连接请求,服务端关闭连接。