当前位置: 首页 > wzjs >正文

用上网做任务的网站珠海网络推广公司

用上网做任务的网站,珠海网络推广公司,网上营销的概念,萧山做网站前端缓存是提升网站性能和用户体验的关键技术,主要分为 浏览器缓存、应用层缓存、CDN缓存、内存缓存。以下是常见策略及其应用场景: 一、浏览器缓存(HTTP 缓存) 1. 强缓存(Cache-Control/Expires) 原理&…

前端缓存是提升网站性能和用户体验的关键技术,主要分为 浏览器缓存应用层缓存CDN缓存、内存缓存。以下是常见策略及其应用场景:

一、浏览器缓存(HTTP 缓存)

1. 强缓存(Cache-Control/Expires)
  • 原理:直接使用本地缓存,无需请求服务器。
  • 控制头
    • Cache-Control: max-age=3600(优先)
    • Expires: Wed, 21 Oct 2025 07:28:00 GMT(旧版,受本地时间影响)
  • 适用场景:静态资源(如 JS、CSS、图片)。
  • 示例配置(Nginx)
    location ~* \.(js|css|png|jpg|gif|svg)$ {expires 7d;  # 缓存 7 天add_header Cache-Control "public";
    }
    
2. 协商缓存(ETag/Last-Modified)
  • 原理:发送请求到服务器验证缓存是否可用,若未修改则返回 304。
  • 控制头
    • ETag: "123456789"(文件哈希值)
    • Last-Modified: Wed, 21 Oct 2025 07:28:00 GMT(文件修改时间)
  • 适用场景:可能变化但需精确控制的资源(如用户头像)。
  • 示例代码(Node.js)
    const http = require('http');
    const fs = require('fs');
    const crypto = require('crypto');http.createServer((req, res) => {fs.readFile('index.html', (err, data) => {const hash = crypto.createHash('md5').update(data).digest('hex');if (req.headers['if-none-match'] === hash) {res.statusCode = 304;return res.end();}res.setHeader('ETag', hash);res.end(data);});
    }).listen(3000);
    

二、应用层缓存

1. LocalStorage/SessionStorage
  • 特点
    • 存储大小:5-10MB(不同浏览器)。
    • 数据类型:字符串(需 JSON 序列化)。
    • 有效期:localStorage 永久,sessionStorage 会话结束清除。
  • 适用场景:用户偏好设置、临时数据(如购物车)。
  • 示例代码
    // 存储
    localStorage.setItem('user', JSON.stringify({ name: 'John', age: 30 }));// 读取
    const user = JSON.parse(localStorage.getItem('user'));
    
2. IndexedDB
  • 特点
    • 存储大小:无明确限制(受硬盘空间约束)。
    • 支持事务和索引,适合存储结构化数据。
    • 异步 API,避免阻塞主线程。
  • 适用场景:大量数据缓存(如离线地图、邮件客户端)。
  • 示例代码
    const request = indexedDB.open('myDatabase', 1);request.onsuccess = (event) => {const db = event.target.result;const transaction = db.transaction(['users'], 'readwrite');const store = transaction.objectStore('users');store.put({ id: 1, name: 'John' });
    };
    
3. Service Worker
  • 特点
    • 运行在浏览器后台的独立线程。
    • 拦截网络请求,实现离线缓存和推送通知。
  • 适用场景:离线应用(如 PWA)、静态资源预缓存。
  • 示例代码(注册 Service Worker)
    if ('serviceWorker' in navigator) {navigator.serviceWorker.register('/service-worker.js').then(registration => {console.log('Service Worker 注册成功');});
    }
    
     
    // service-worker.js
    self.addEventListener('fetch', (event) => {event.respondWith(caches.match(event.request).then(cachedResponse => cachedResponse || fetch(event.request)));
    });
    

三、CDN 缓存

  • 原理:内容分发网络在全球多个节点缓存资源,用户就近访问。
  • 优势
    • 加速静态资源加载(如 JS 库、图片)。
    • 减轻源服务器压力。
  • 示例配置(使用 UNPKG CDN)
    <script src="https://unpkg.com/react@18.2.0/umd/react.production.min.js"></script>
    

四、内存缓存(Runtime Cache)

  • 特点
    • 存储在 JS 变量中,读取速度极快。
    • 页面刷新后失效。
  • 适用场景:高频访问数据(如用户信息)。
  • 示例代码
    const cache = new Map();function getData(key) {if (cache.has(key)) {return cache.get(key);}const data = fetchDataFromServer(key);cache.set(key, data);return data;
    }
    

五、缓存策略选择指南

场景推荐缓存方案
静态资源(JS/CSS/ 图片)HTTP 强缓存 + CDN
动态数据(如 API 响应)协商缓存 + LocalStorage
离线应用Service Worker + IndexedDB
高频数据访问内存缓存(如 Map 对象)、vuex、pina
用户会话信息SessionStorage
http://www.dtcms.com/wzjs/251784.html

相关文章:

  • 自己做的网站别人打不开青岛seo关键词
  • 深圳方维网站建设今天的最新消息新闻
  • 黑色网站seo国外推广软件
  • 品牌策划与设计百度智能小程序怎么优化排名
  • 没有网站如何做淘宝客b站推广入口2023mmm无病毒
  • 唐山网站建设拓正规接单赚佣金的app
  • 网站建设杭州公司做网站推广好做吗
  • wordpress用户角色权限seo关键词快速排名软件
  • springboot快速搭建网站网页设计代码案例
  • 中国标准溶液网站建设网站推广seo方法
  • ecshop模板网站怎么样与qq连接网站备案查询
  • php制作网站后台推广服务商
  • 青岛网站建设王道下拉??东莞关键词优化软件
  • 云南建设厅网站删除网店代运营公司哪家好
  • 提交谷歌网站最新重大新闻
  • cad做彩图那个网站应用好用seo职位要求
  • 设备做外贸哪个网站好什么时候网络推广
  • 做网站构架用什么软件巩义网络推广
  • 从网络营销策划理论站长工具seo综合查询问题
  • 网站个人主页怎么做品牌广告语
  • 网站管理问题短信营销平台
  • 科普网站建设方案书朋友圈推广一天30元
  • 临沂免费做网站做百度推广的网络公司
  • 小白如何免费做网站安卓优化大师官方下载
  • 机器ip后面加个端口做网站推广论坛有哪些
  • 开发网站需要时间宣传渠道有哪些
  • 燕郊网站制作推广网络推广
  • 什么是网站设计与运营如何做推广和引流
  • 莆田做网站排名北京seo关键词排名优化
  • 公司网站文化活动备案成都seo网站qq