一般一个网页是由多个元素组成的,浏览器在向服务器发起请求以后,服务端每次只能返回一种资源,响应头中的Content-Type属性描述了返回资源的类型。因此,我们所看到的一个完整的网页往往需要请求多次。
这里就分为两种情况了,一种是 “ 建立连接—浏览器请求—服务端响应—断开连接 ”,每次获取资源都需要建立新的连接,这种方式我们称为短连接;另一种就是 第一次请求的时候就建立好连接,后续获取资源都是通过这条连接来获取资源,这种方式我们称为长连接。
1、获取资源的过程
上面提到,一个网页由多个元素或者资源组成,要获取到一个完整的网页往往需要请求多次。首先,和服务端建立起连接,其次,请求这个网页的框架(html资源),随后依次申请图片(jpg资源)、视频等其他资源。我们只要发起第一次请求,后续的资源请求由浏览器来自动发送。

2、长连接和短连接
http协议是基于tcp协议的,获取资源时要和服务端建立起连接,站在应用层的角度,连接类型有两种,分别是短连接和长连接。
(1) 短连接
短连接分为了三步:
第一步,浏览器向服务器发起一次请求来申请资源
第二步,服务器响应浏览器并返回资源
第三步,断开连接
因为一个网页的资源要获取多次,所以短连接状态下,需要重复上述操作,直至获取完一个网页的所有资源。

(2) 长连接
http/1.0版本使用的都是短连接,短连接需要频繁的跟服务端建立起连接,这样做是特别耗时的!为了减少频繁建立连接,在http/1.1版本引入了 长连接 方式,长连接建立起一次连接以后,这个连接会一直存在,不会断开。

本文介绍了网页加载过程中资源获取的流程,包括建立连接、请求资源和断开连接。讨论了HTTP协议中的短连接和长连接两种模式。短连接在获取每个资源时都要重复建立和断开连接,而长连接则在首次建立后保持连接,允许多次请求,以减少网络延迟。HTTP/1.0默认使用短连接,HTTP/1.1引入了长连接以提高效率。
2630

被折叠的 条评论
为什么被折叠?



