浏览器缓存分为两种, 强制缓存  与  协商缓存,

https://www.pass4lead.com/300-209.html
https://www.pass4lead.com/300-320.html

    强制缓存有  在 header 中的 expires 设置一个过期时间,如设置则未过期文件将不请求服务器直接使用缓存,这个的缺点是服务器时间与客户端时间可能不一直.    另一种是 cache-control,通过设置 cache-control 的 max-age 设置相对过期时间,单位 秒,可以相对于客户端请求的时间之后多长时间之内直接使用 缓存.
    协商缓存有 Last-Modified 标记最后文件修改时间,如果文件修改时间没有变更则返回 304 直接使用本地缓存,通常服务器与浏览器会自动完成此字段的.   另外一种是 Etag,这种方式是看文件内容是否变更而非通过修改时间,这样就避免了 a -> b -> a 这种虽然有修改但是实际内容并未发生变化的情况.这种方式的缺点是需要发送一次请求向服务器,用于确定是否使用缓存,而 强制缓存则无需向服务器发送请求,浏览器会直接使用未过期的缓存.
    优先级  cache-control > expires > Etag > Last-Modified

https://www.pass4lead.com/200-355.html
https://www.pass4lead.com/210-060.html

    浏览器刷新方式有三种, ctrl + f5, f5, 地址栏输入地址按回车.ctrl + f5 方式会强制重新请求并重新缓存,上述机制均无效.   f5 刷新只有 Last-Modified 这种机制有效,   输入地址回车的方式上述机制都有效
 
最后附上常用 http 状态码含义
200 :    正常请求
201:     服务器接收到请求,一个新的资源已经建立
202:    服务器接收到请求,新的资源尚未被建立
204:    服务器已经成功处理请求,并且无需返回信息
300:    资源重定向
301:     资源永久重定向,常用于服务器搬迁,对搜索引擎的友好提示,不会损失seo
302:     资源临时从不同 url 响应
303:     资源可以在另一个 url 找到,临时重定向
304:    服务器已经接收到请求,但是请求的文档并未发生改变,应使用缓存的内容
400:    语义有误,服务器无法理解
401:    当前请求需要用户验证
403:   服务器已经理解请求,但是拒绝连接
404:    服务器没有找到对应的资源
500:    服务器遇到一个未知的错误
 
 

浏览器缓存机制介绍 + 常用 http 状态码的更多相关文章

  1. 常用HTTP状态码

    1.常用状态码介绍 在http响应协议中,我们通过HttpWatch抓包抓取到响应信息.其中响应首行中就包含一个状态码.状态码由三位数字组成,表示请求是否被理解或者被满足.HTTP响应状态码的第一个数 ...

  2. Java缓存学习之二:浏览器缓存机制

    浏览器端的九种缓存机制介绍 浏览器缓存是浏览器端保存数据用于快速读取或避免重复资源请求的优化机制,有效的缓存使用可以避免重复的网络请求和浏览器快速地读取本地数据,整体上加速网页展示给用户.浏览器端缓存 ...

  3. atitit。浏览器缓存机制 and 微信浏览器防止缓存的设计 attilax 总结

    atitit.浏览器缓存机制 and 微信浏览器防止缓存的设计 attilax 总结 1. 缓存的一些机制 1 1.1. http 304 1 1.2. 浏览器刷新的处理机制 1 1.3. Expir ...

  4. WEB请求过程(http解析,浏览器缓存机制,域名解析,cdn分发)

    概述 发起一个http请求的过程就是建立一个socket通信的过程. 我们可以模仿浏览器发起http请求,譬如用httpclient工具包,curl命令等方式. curl "http://w ...

  5. (转)常用 HTTP 状态码对照表

    Code 含义 100 客户端应当继续发送请求.这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝.客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应.服务器必须 ...

  6. HTTP常用的状态码

    一.200状态码: 成功2××:成功处理了请求的状态码. 1.200 :服务器已成功处理了请求并提供了请求的网页. 2.204:服务器成功处理了请求,但没有返回任何内容. 二.300状态码: 重定向3 ...

  7. 浏览器缓存机制<转>

    转这篇文章是感觉可以在图片加载的时候,也使用这样的缓存策略   作者:吴秦出处:http://www.cnblogs.com/skynet/本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或 ...

  8. HTTP浏览器缓存机制

    来自:http://kb.cnblogs.com/page/165307/ 浏览器缓存机制 浏览器缓存机制,其实主要就是HTTP协议定义的缓存机制(如: Expires: Cache-control等 ...

  9. HTTP 协议 -- 浏览器缓存机制

    浏览器缓存机制 浏览器缓存机制主要是 HTTP 协议定义的缓存机制. HTTP 协议中有关缓存的缓存信息头的关键字有 Cache-Control,Pragma,Expires,Last-Modifie ...

随机推荐

  1. WAS6.1连接SQL Server2008数据库连接池配置

    原文链接:http://www.cnblogs.com/lyr2012/archive/2012/06/13/2547804.html 说明:该步骤只适用与websphere 6.1.0.15之前的版 ...

  2. IDEA VS 快捷键 大全

    [参考]IntelliJ IDEA 常用 黄金 快捷键  总结 不断更新     一.VS常用快捷键 (01).快速插入foreach.try等循环:Tab + Tab; (02).回到光标前一位置: ...

  3. usermod命令/用户密码管理/mkpasswd命令

    3.4 usermod命令 3.5 用户密码管理 3.6 mkpasswd命令 usermod命令 设置用户uid: usermod  -u  111 username 设置用户gid usermod ...

  4. lakala GradientBoostedTrees

    /** * Created by lkl on 2017/12/6. */ import org.apache.spark.mllib.evaluation.BinaryClassificationM ...

  5. 第一篇 一步一步看透C++

        毕业快一年半了,这些时候,都是在底层方面做的一些工作,虽然内核的C也实现了C++中的一些抽象机制,面向对象,继承,多态,封装等等,但是,想着大学里面,电子类的学习,都是偏向底层的,有过C++的 ...

  6. Thinkphp5 多图上传

    html代码 <div class="content" id="content_list"> <!-- 上传部分 --> <for ...

  7. vue加百度统计代码(亲测有效)

    申请百度统计后,会得到一段JS代码,需要插入到每个网页中去,在Vue.js项目首先想到的可能就是,把统计代码插入到index.html入口文件中,这样就全局插入,每个页面就都有了;这样做就涉及到一个问 ...

  8. windows下nvm安装node之后npm命令找不到问题解决办法

    主要关键解解决办法:===>>适用于所有东西的安装 安装有关环境配置类的软件及其他,一般情况下切记不要安装到c盘programfiles下,否则会出现各种问题的报错!!!切记! nvm安装 ...

  9. linux环境中nagios(nagios core)安装?nagios安装?

    需求描述: 最近准备给线上生产环境部署监控平台,对各个系统的资源使用情况,服务进行监控,采用nagios core版本进行部署, nagios core是开源版本的软件,是免费的nagios XI是上 ...

  10. java获取map中的最小KEY,最小VALUE

    import java.util.Arrays; import java.util.Collection; import java.util.HashMap; import java.util.Map ...