## 强缓存:
不会向服务器发送请求,直接从缓存中读取资源,在chrome控制台的Network选项中可以看到该请求返回200的状态码,并且Size显示from disk cache或from memory cache。强缓存可以通过设置两种 HTTP Header 实现:Expires 和 Cache-Control。
## 协商缓存:
就是强制缓存失效后,浏览器携带缓存标识向服务器发起请求,由服务器根据缓存标识决定是否使用缓存的过程,主要有以下两种情况:
> 协商缓存生效,返回304和Not Modified
> 协商缓存失效,返回200和请求结果协商缓存可以通过设置两种 HTTP Header 实现:Last-Modified 和 ETag 。
强制缓存优先于协商缓存进行,若强制缓存(Expires和Cache-Control)生效则直接使用缓存,若不生效则进行协商缓存(Last-Modified / If-Modified-Since和Etag / If-None-Match),协商缓存由服务器决定是否使用缓存,若协商缓存失效,那么代表该请求的缓存失效,返回200,重新返回资源和缓存标识,再存入浏览器缓存中;生效则返回304,继续使用缓存。
- 介绍
- 原生JS
- 1.ES6的新特性
- 2.JS的数据类型
- 3.定义函数的方法
- 4.JS作用域的理解
- 5.闭包的理解
- 6.数组去重
- 7.原型及原型链
- 8.Object.create的作用
- 9.new的执行过程是怎么回事
- 10.call,apply,bind三者的区别
- 11.实现类的继承
- 12.谈谈你对this指向的理解
- 13.DOM
- 14.JS的异步编程
- 15.正则
- http&ajax
- 1.TCP/IP的三次握手和四次挥手
- 2.http常用状态码(http-status-code):
- 3.从浏览器输入URL按回车到页面显示都发生了什么?
- 4.HTTPS和HTTP的区别
- 5.浏览器缓存?
- 6.ajax四步
- 7.一般我们再拦截器中都会写什么代码?
- 8.get请求和post请求有什么区别?什么时候使用post?
- 9.Cookie 和 Session 的区别?
- 10.Token 相关
- 11.什么是同源策略?