博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
测试http缓存如何才生效!
阅读量:6694 次
发布时间:2019-06-25

本文共 759 字,大约阅读时间需要 2 分钟。

hot3.png

           浏览器和服务器之间通过 (ETag, If-None-Match )   (Last-Modified ,If-Modified-Since) 这两对请求头和响应头的信息,来判断请求是否过期!  注意,无论是请求静态资源,还是请求动态内容,在HTTP协议这一层处理是一致的,并不是只有资源才会缓存。

          还是动手一下印象深刻:

const http = require('http');const hostname = '127.0.0.1';const port = 8000;const server = http.createServer((req, res) => {    if (req.headers['if-modified-since'] == 'abc') {        res.statusCode = 304        res.end();    } else {        res.statusCode = 200;        res.setHeader("Last-Modified", "abc")        res.setHeader('Content-Type', 'text/plain');        res.end('Hello Worl\n');    }});server.listen(port, hostname, () => {    console.log(`服务器运行在 http://${hostname}:${port}/`);});

第一次请求,响应头会带上Last-Modified 头。 第2次请求会使用缓存!请在浏览器中动手试一下就明白了

转载于:https://my.oschina.net/u/1540190/blog/1083137

你可能感兴趣的文章
JuliaBox:一个对小白友好的在线 Jupyter Notebook 编辑器 :)
查看>>
我的前端那些事 --less进阶
查看>>
javascript之cookie, localstorage, sessionstorge
查看>>
面试总结1
查看>>
Python pymysql数据库之建库建表、增删改查
查看>>
webpack打包多页面的方式
查看>>
DOM元素动态监控
查看>>
如何学习游戏开发?游戏开发如何入门?Unity3D好学吗?怎么学习,学习路线是什么?...
查看>>
SpringBoot实战历程视频教程横空出世啦!
查看>>
2018/12/29
查看>>
电脑蓝屏代码含义
查看>>
大三现在,大四第一学期就要实习
查看>>
最基础的一些入门级Android源码例子整理
查看>>
转载来的ubuntu 12.04 安装qq
查看>>
C#.NET中的 sender Tag 功能在支持多语言的通用权限管理系统组件中的实际应用范例...
查看>>
Swift 的 结构体
查看>>
以太网通道
查看>>
exercise_1
查看>>
Java设计模式之建造者模式
查看>>
Spring 与Hibernate 整合
查看>>