加入收藏 | 设为首页 | 会员中心 | 我要投稿 济宁站长网 (https://www.0537zz.cn/)- 行业智能、边缘计算、专有云、AI硬件、5G!
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

HTTP缓存和浏览器的本地存储

发布时间:2019-08-16 19:40:50 所属栏目:优化 来源:搁浅
导读:一、HTTP缓存 http请求做为影响前端性能极为重要的一环,因为请求受网络影响很大,如果网络很慢的情况下,页面很可能会空白很久。对于首次进入网站的用户可能要通过优化接口性能和接口数量来解决。但是,对于重复进入页面的用户,除了浏览器缓存,http缓存

;domain=domain (例如 'example.com', 'subdomain.example.com') 如果没有定义,默认为当前文档位置的路径的域名部分。与早期规范相反的是,在域名前面加 . 符将会被忽视,因为浏览器也许会拒绝设置这样的cookie。如果指定了一个域,那么子域也包含在内。

;max-age=max-age-in-seconds (例如一年为606024*365)

;expires=date-in-GMTString-format 如果没有定义,cookie会在对话结束时过期这个值的格式参见Date.toUTCString()

;secure (cookie只通过https协议传输)

;HttpOnly 限制web页面程序的browser端script程序读取cookie

缺点

容量有限制,不能超过4kb

在请求头上带着数据安全性差

2.localStorage和sessionStorage使用

html5新增本地存储,localStorage生命周期是永久,除非主动清除localStorage信息,否则这些信息将永远存在。存放数据大小为一般为5MB,sessionStorage仅在当前会话下有效,关闭页面或浏览器后被清除。而且它仅在客户端(即浏览器)中保存,不参与和服务器的通信。也是遵守同源策略原则的

  1. // 1、保存数据到本地 
  2. // 第一个参数是保存的变量名,第二个是赋给变量的值 
  3. localStorage.setItem('key', 'value'); 
  4. //复杂类型储存需要**利用JSON.stringify**将对象转换成字符串; 
  5. //利用**JSON.parse**将字符串转换成对象 
  6. // 2、从本地存储获取数据 
  7. localStorage.getItem('key'); 
  8. // 3、从本地存储删除某个已保存的数据 
  9. localStorage.removeItem('key'); 
  10. // 4、清除所有保存的数据 
  11. localStorage.clear(); 

3. Web SQL

WebSQL是前端的一个独立模块,是web存储方式的一种,我们调试的时候会经常看到,只是一般很少使用。并且,当前只有谷歌支持,ie和火狐均不支持。

主要方法:

1.openDatabase:这个方法使用现有的数据库或者新建的数据库创建一个数据库对象。

2.transaction:这个方法让我们能够控制一个事务,以及基于这种情况执行提交或者回滚。

3.executeSql:这个方法用于执行实际的 SQL 查询。

4.indexDB

IndexedDB 就是浏览器提供的本地数据库,它可以被网页脚本创建和操作。IndexedDB 允许储存大量数据,提供查找接口,还能建立索引。这些都是 LocalStorage 所不具备的。就数据库类型而言,IndexedDB 不属于关系型数据库(不支持 SQL 查询语句),更接近 NoSQL 数据库。

(编辑:济宁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读