1. 离线浏览 - 用户可在应用离线时使用它们(最关键的一点,可获取少数或者全部网站内容,包括 HTML、CSS、图像和 JavaScript 脚本并存在本地,可通过如下方式实现。)
<!doctype html> <html manifest="example.appcache"> </html>
2. 速度更快 - 上面的特性加速了网站的性能,因为已缓存资源加载得更快。
3. 减少服务器负载 - 浏览器将只从服务器下载更新过或更改过的资源。
与传统的浏览器缓存比较,该特性并不强制要求用户访问网站。需要注意的是:HTML5 应用缓存已废弃,取而代之是service-worker的标准
1. 本地缓存为整个 web 应用程序服务的,而浏览器的网页缓存只服务于单个网页
任何网页都有网页缓存,本地缓存只缓存指定的页面。
2. 网页缓存不安全
我们不知道在网站中到底缓存了哪些网页,缓存了网页上的哪些资源。而本地缓存可以控制缓存哪些内容。开发人员还可以利用编程的手段来控制缓存的更新,利用缓存对象的各种属性、状态和事件来开发出更加强大的离线应用程序。
3. 网页缓存不可靠
要实现浏览器缓存必须要满足一个前提,那就是网络必须要保持连接。如果网络没有连接,即使浏览器启用了对一个站点的缓存,依然无法打开这个站点。只会收到一条错误信息。
而使用离线 web 应用,我们可以主动告诉浏览器应该从网站服务器中获取或缓存哪些文件,并且在网络离线状态下依然能够访问这个网站。
H5引入的浏览器缓存,就是前面的题中说的:localStorage和sessionStorage。这两者并不会像cookie那样把数据交给服务器,仅仅停留在客户端。正如名字一样,前者将数据存储在了本地,那么除非手动删除,否则就不会消失;而后者是回话级别的,关了窗口,数据就没有了。
更多关于应用程序缓存和浏览器缓存的知识点可以参考:https://www.axihe.com/focus/html/21.html