HTML5——离线应用程序

浏览器与服务器的交互过程

首先一个http://www.daisy.com的网站,假设以index.html为主页,该主页使用index.manifest文件作为manifest文件。在该文件中缓存index.html 、hello.js、hello.jpg、hello2.jpg这几个文件。首次访问http://www.daisy.com网站时,他们的交互过程如下:
1 浏览器请求访问http://www.daisy.com
2 服务器返回index.html网页
3 浏览器解析index.html网页,请求页面上所有资源文件,包括HTML文件、图像文件、CSS文件、Javascript文件,以及manifest文件
4 服务器返回所有要求本地缓存的文件
5 浏览器处理manifest文件,请求manifest中所有要求本地缓存的文件,包括index.html页面本身,即使刚刚已经请求国这些文件。如果你要求本地缓存所有文件,这将是一个比较大的重复的请求过程
6 服务器返回所有要求本地缓存的文件
7 浏览器对本地缓存进行更新,存入包括页面本身在内的所有要求本地缓存的资源文件,并且触发一个时间,通知本地缓存被更新。

现在浏览器已经把本地缓存更新完毕,如果再次打开浏览器访问http://www.daisy.com网站的时候,且manifest未更新,那么它们的交互过程如下:
1 浏览器再次请求http://www.daisy.com
2 浏览器发现这个页面被本地缓存,于是用本地缓存中的index.html页面
3 浏览器解析index.html页面,使用所有本地缓存中的资源文件。
4 浏览器向服务器请求manifest文件
5 服务器返回一个304 代码,通知浏览器manifest没有变化

如果再次打开浏览器的时候,manifest发生了变化,那么浏览器和服务器之间的交互如下:
1浏览器再次请求http://www.daisy.com
2 浏览器发现这个页面被本地缓存,于是使用本地缓存中的index.html
3 浏览器解析index.html页面,使用所有本地缓存中的资源文件。
4 浏览器向服务器请求manifest文件
5 服务器返回manifest文件
6 浏览器处理manifest文件,发现该文件已经被更新,于是请求所有要求进行本地缓存的资源文件,包括index.html本身
7 浏览器返回要求进行本地缓存的资源文件
8 浏览器对本地缓存进行更新,存入所有新的资源文件,并且触发一个事件,通知本地缓存被更新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值