专栏首页前端侠2.0测试http缓存如何才生效! 原

测试http缓存如何才生效! 原

           浏览器和服务器之间通过 (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次请求会使用缓存!请在浏览器中动手试一下就明白了

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • css3的transform造成z-index无效, 附我的牛逼解法

    我想锁表头及锁定列。昨天新找的方法是用css3的transform,这个应该在IE9以上都可以的。

    申君健
  • Angular中,模块加载的几种方法 原

    好处:这种方式有利于初始减少加载体积 , 不需要在app.module.ts中,主动去引入相应的模块(它们自然不会打包到AppModule中去)。

    申君健
  • 如何用typescript 来写一个jquery 插件的 d.ts

    1、Jquery 方法  。比如$.ajax( )    $.trim( )   它们特点就是直接绑在jquery 自身上。

    申君健
  • Ubuntu更新update或升级upgrade或安装install等网络连接失败问题

      export http_proxy=http://127.0.0.1:37725   export https_proxy=http://127.0.0....

    zhangrelay
  • Fiddler4抓包工具使用教程一

    本文参考自http://blog.csdn.net/ohmygirl/article/details/17846199,纯属读书笔记,加深记忆 1、抓包工具有很...

    郑小超.
  • Java开发必须要知道的知识体系

    Java是超高人气编程语言,拥有跨平台、面向对象、泛型编程等特性。在TIOBE编程语言排行榜中,连续夺得第一宝座,而且国内各大知名互联网公司,后端开发首选语言:...

    Java团长
  • 模型剖析 | 如何解决业务运维的四大难题?

    织云平台团队
  • Microsoft® .NET Micro Framework简介

    MF全称Microsoft® .NET Micro Framework,是微软推出的一个微型.Net框架,微型到什么程度呢?它自身就可以是一个操作系统OS,它...

    大石头
  • 关于跨域

    在使用Vue搭建的一个后端管理系统中,我使用axios请求本地的Node环境下的接口,但是请求失败,然后我错误信息是:

    九旬
  • Python、大数据、人工智能、机器学习资料分享(不定期更新)

    下载地址:http://loong576.cn/machine-learning/

    loong576

扫码关注云+社区

领取腾讯云代金券