面试被问到说一下缓存策略,说不出什么东西惭愧,特此学习记录
所谓的http缓存,就是浏览器自己给你的一个功能,一个缓存数据库,夹在服务端和客户端中间,你只需要设置一些参数即可实现 缓存/不缓存/时效内缓存/时效外缓存等(默认存在缓存)
上两张形象的图片:
第一次请求:
非第一次请求:
以上面这两张图为基础,可以简单的讲讲http缓存,应付面试绝对够了:
首先你得了解输入url到看见页面,发生了什么(这个也是面试经常问的!!网上的解答也不太一样,其实这个能用自己的话说出来就可以)
1、首先,在浏览器地址栏中输入url
2、浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容。若没有,则跳到第三步操作。
3、在发送http请求前,需要域名解析(DNS解析),解析获取相应的IP地址。
4、浏览器向服务器发起tcp连接,与浏览器建立tcp三次握手。
5、握手成功后,浏览器向服务器发送http请求,请求数据包。
6、服务器处理收到的请求,将数据返回至浏览器
7、浏览器收到HTTP响应
8、读取页面内容,浏览器渲染,解析html源码
9、生成Dom树、解析css样式、js交互
10、客户端和服务器交互
11、ajax查询