• HTTP1.1 协议


    Response Headers 响应头

    Expires 设置响应内容的过期时间

    过期时间头信息属性值只能是HTTP格式的日期时间,HTTP的日期时间必须是格林威治时 间(GMT),而不是本地时间。举例:

    Expires: Fri, 30 Oct 1998 14:19:41"EEE, dd MMM yyyy HH:mm:ss z", Locale.US);

    httpDateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US);
    httpDateFormat.setTimeZone(TimeZone.getTimeZone("GMT")); 

    或者使用 response.addDateHeader("Expires", new Date().getTime() + 15*1000);

    设置为0指示已经过期,如果需要设置永不过期那么设置为一年的时间(60 * 60 * 24 * 365 * 1000L),注意不能超过一年,这点在HTTP1.1的协议上说明。

    另外注意如果响应里包含了Cache-Control max-age的设置,那么Expires的值会被覆盖。

    测试结果: 第一次请求肯定会发送请求到服务器,因为浏览器没有缓存,下面的例子都是第二次请求。

    1、打开新窗口(_blank)

    不访问服务器

    2、在地址栏回车

    不访问服务器

    3、按后退按扭

    不会访问服务器

    4、按刷新按扭=(F5)

    会访问服务器

    Cache-Control 设置浏览器对响应内容的缓存指令

    no-cache 不使用缓存

    max-age 在未到期之前浏览器不会发送请求道服务器端(在地址栏回车,后退按钮),但是如何F5刷新浏览器每次都会发送请求。

    http://www.ggseo.cn/blog/post/cache-control.html

    http://www.path8.net/tn/archives/2745

  • 相关阅读:
    Matlab中对二维数组排序
    ATL COM对象崩溃问题一例
    CSS样式介绍
    关于php
    BootStrap介绍
    关于base系列的加密解密
    php基础知识
    任务一
    php数组
    【CV学习1】opencvpython:第一,二章
  • 原文地址:https://www.cnblogs.com/daxin/p/3981553.html
Copyright © 2020-2023  润新知