webkit 浏览器内幕之资源加载

1,080 阅读2分钟

webkit 资源加载

网络和资源加载是网页加载和渲染的第一步,也是必不可少的第一步。网页本身也是一种资源,而且网页还需要很多其他资源,例如图片、视频等。

资源的缓存

资源的缓存机制是提高资源使用效率的方法。它的基本思想是建立一个资源的缓存池,当webkit需要请求资源的时候,当请求资源的时候,先从资源池中查找是否存在相应的资源,如果则在资源池中取取出使用,如果没有则会创建一个新类去请求服务器资源,webkit 在收到资源后将其设置该资源的类中的对象中去,以使缓存后下次使用。这里指的是内存缓存。

资源加载器

资源加载器总共三种

  • 针对每种资源类型特定的加载器,其特点是仅加载某一种资源。例如 image
  • 资源缓存机制的资源加器,特点是所有的加载器都共享它来查找并插入缓存资源。
  • 能用资源加载器,webkit 需要从网络或者文件系统获取资源的时候,只负责获取资源。

高效使用资源使用策略

  • 减少链接的重定向,大量的重定向,不仅要求浏览器多次建立连接,同时也需要多次DNS 解析,这会阻碍DNS 预取技术的应用。
  • 利用DNS 预取机制。让浏览器知道浏览器的url,开发者指定需要预取的 URl
  • 搭建支持 SPDY 协议的服务器
  • 避免错误的链接请求。如网页中包含一些失效的链接,当浏览试图获取这些对应的资源的时候,也点占用网络资源。
  • 在HTML 网页中内嵌小型资源,当资源比较小的时候,开发者可以直接将它们放到网页中
  • 合交一些资源,如 css js image
  • 使用浏览器本地磁盘缓存机制,当http 协义支持的资源失效机制,可以通过对资源设置适当的失效期来减少对资源的重复获取。
  • 启用资源压缩技术。可以使用zip 压缩技术,然后在http 消息头说明此资源已经压缩,这样可以减少网络传输的数据量。