zoukankan      html  css  js  c++  java
  • HTTP缓存(强缓存,协商缓存)知识点

    这几个链接讲的很好

    https://www.cnblogs.com/tugenhua0707/p/10807289.html

    https://www.jianshu.com/p/9c95db596df5

    https://www.jianshu.com/p/65f4bb99e68f?utm_campaign

    前端性能优化中,减少HTTP请求可以提高页面的响应速度。

    浏览器在第一次访问页面时向服务器请求资源,并缓存起来,下次再访问时会判断在缓存中是否已有该资源且有没有更新过,如果已有该资源且未更新过,则直接从浏览器缓存中读取。原理:通过HTTP 请求头中的 If-Modified-Since(If-No-Match) 和响应头中的Last-Modified(ETag)来实现,HTTP请求把 If-Modified-Since(If-No-Match)传给服务器,服务器将其与Last-Modified(ETag)对比,若相同,则文件没有被改动过,则返回304,直接浏览器缓存中读取资源即可。

    问题:虽然该方法减少了已缓存资源的下载时间,但仍然发起了一次http请求。

    解决:已缓存资源不再发起http请求,即HTTP的Expires和Cache-Control。对一个网站而言,CSS、JavaScript、图片等静态资源更新的频率都比较低,而这些文件又几乎是每次HTTP请求都需要的,如果将这些文件缓存在浏览器中,可以极好的改善性能。通过设置http头中的cache-control和expires的属性,可设定浏览器缓存,将静态内容设为永不过期,或者很长时间后才过期。

    1.

     2.

  • 相关阅读:
    软件开发模式
    个人中心设计
    定制四则运算
    功能测试用例分析报告
    NABCD
    开发流程
    开发流程
    结对编程
    注册界面进行Toast提示
    登录注册页面修改错误
  • 原文地址:https://www.cnblogs.com/lonelyshy/p/13685274.html
Copyright © 2011-2022 走看看