资源加载和网络栈
webkit资源加载机制
资源
- html页面
- javascript代码
- css样式表
- 图片
- svg
- css shader
- 视频、音频和字幕
- 字体文件
- XSL样式表 渲染XML文件
资源缓存
建立一个资源的缓存池,当需要请求资源时,先从资源池中查找是否存在相应的资源,如果有,则从缓存池中取出使用,负责创建CachedResouce子类去请求对象,然后加入缓存池中,以便下次使用
webkit从资源池中查询资源的关键字是url,因为标记资源唯一性的特征就是资源的url
资源加载器
种类
- 针对每种资源类型的特定加载器
- 资源缓存机制的资源加载器 cachedResourceLoader
- 通用资源加载器 resouceLoader
过程

资源的生命周期
资源池的使用机制(LRU)最近最少使用算法
chromium多进程资源加载
多进程的资源加载机制
Renderer进程在网页的加载过程中需要获取资源,但是由于安全性和效率上的考虑,renderer进程的资源获取实际上是通过进程间通信将任务交给browser进程来完成,browser进程有权限从网络或者本地获取资源
工作方式和资源共享
资源请求有同步和异步两种方法

网络栈
- cert 证书管理
- cookies
- dist_cache 磁盘本地缓存
- dns 域名解析和优化
- ftp ftp协议相关
- http http协议相关
- proxy 代理的相关配置
- socket tcp socket的管理
- ssl ssl安全机制的支持
- udp udp协议相关
- url_request
- websocket
- android 针对android的特殊网络处理