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

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. (弃) Keystone CLI_可选命令详解

    本文详细介绍keystone客户端命令行界面(CLI)keystone的可选子命令.关于keystone客户端命令行工具keystone命令的子命令和选项列表,请参考前文<解读keystone命 ...

  2. autofac 实例生命周期

    转自逆心博客园 autofac 实例生命周期 实例生命周期决定在同一个服务的每个请求的实例是如何共享的. 当请求一个服务的时候,Autofac会返回一个单例 (single instance作用域), ...

  3. List&Map&Set的操作和遍历

    Java的三大集合即:Set.List.Map. Set:代表无序.不可重复的集合,常用的有HashSet(哈希表实现).TreeSet(红黑树实现): List:代表有序.可以重复的集合,比较常用的 ...

  4. Linux环境安装PostgreSQL-10.1[转]

    环境及资源 Linux版本:CentOS release 6.5 PostgresSQL版本:postgresql-10.1 PostgreSQL官网下载地址:https://www.postgres ...

  5. eclipse中去掉validate的方法

    昨天在右击项目想选择refresh的时候一不小心选择了validate,就发现target包出现了红色的叉号.当时觉得反正项目运行没有什么异常,就这么凑合了一天半多. 后来,当我改jsp的时候从< ...

  6. level 1 -- unit 4 -- where 引导的疑问句

    where be sb/sth 询问地点,用where where is the restaurant? where are my socks ? where was tome just now? w ...

  7. SpringMVC使用@ResponseBody时返回json的日期格式及可能产生的问题

    http://blog.csdn.net/z69183787/article/details/40375831 遇到的问题: 1 条件: 1.1.表单里有两个时间参数,都是作为隐藏项随表单一起提交: ...

  8. Go工具和调试详解

    https://blog.csdn.net/happyanger6/article/details/78724594/ https://blog.csdn.net/u012210379/article ...

  9. mysql 用户权限操作

    https://www.cnblogs.com/SQL888/p/5748824.html http://blog.csdn.net/fafa211/article/details/2249217

  10. 使用d3.v3插件绘制出svg图

    众所周知,这个插件使用的svg技术,而IE8(包括IE8)之前的浏览器是不支持svg的 接下来看代码吧 从后台获取到带id和父id的目录数据[json格式] var module = requestU ...