zoukankan      html  css  js  c++  java
  • 浏览器的缓存机制

    这两天,拾前人牙慧了解了下浏览器的缓存机制,备忘一下。

    一般来说,浏览器都是有缓存的,缓存机制可以通过http请求协议,和html的meta标签来设定,我们前端it牛就只关注后者吧,前者需要服务端或者本地程序自己定义。

      这种方式用一句广告词来说就是”so easy!“,只需要如下代码:

    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
    

      meta标签很牛叉,它提供了很多属性来定义页面的文档信息,包括设置搜索引擎关键字啊,编码啊,作者啊,描述啊,语言啊等等,同样也提供了修改http信息的属性。比如上面的示例就是http请求协议的缓存定义no-cache,无缓存。其实我们可以从语义上来分析:http-equiv 这个属性服务器在处理的时候会把它自动加载到浏览器的头信息里。比如我如下设置:

    <meta http-equiv="charset" content="utf-8">
    <meta http-equiv="expires" content="30 Nov 2012">
    

      那么你就设置了页面的过期时间和页面编码,浏览器的头信息就会有下面这样的信息:

    content-type: text/html
    charset:utf-8
    expires:30 Nov 2012

      值得一提的是 expires貌似是http1.0的东西,对现在http1.1来说貌似作用不大。

    附上一张别人的两张图,描述一下浏览器请求的原理:

    第一次请求:

    再次请求:

  • 相关阅读:
    amq笔记:记一个关于PooledConnectionFactory的问题
    ganglia笔记:rrd数据库
    ganglia笔记:rrds目录
    golang笔记:unsupported driver -> Scan pair: <nil> -> *string
    golang笔记:cookie
    golang笔记:net/smtp
    spring笔记
    Qt坑点汇总
    QT自定义控件系列(二) --- Loading加载动画控件
    Qt自定义控件系列(一) --- 圆形进度条
  • 原文地址:https://www.cnblogs.com/cczw/p/2795996.html
Copyright © 2011-2022 走看看