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
HTTP1.1 协议的更多相关文章
- HTTP1.1协议中文版-RFC2616
转自:http://www.cnpaf.net/Class/HTTP/200811/23277.html 说明 本文档规定了互联网社区的标准组协议,并需要讨论和建议以便更加完善.请参考 “互联网官方协 ...
- HTTP1.1协议-RFC2616-中文版课前资料收集
1.http rfc大致讲了什么? 2.解决了什么问题? HTTP协议描述的是发送方与接收方的通信协议 协议功能: HTTP协议(HyperText Transfer Protocol,超文本传输协议 ...
- HTTP1.1协议-RFC2616-中文版
转自:http://www.cnblogs.com/k1988/archive/2010/01/12/2165683.html 说明 本文档规定了互联网社区的标准组协议,并需要讨论和建议以便更加完善. ...
- HTTP 02 HTTP1.1 协议
发送请求: 返回时, content-type 与 HTTP 正文之间有一个空格 HTTP 是不保存状态协议, 也就是说在 HTTP 这个级别, 协议对于发送过的请求或相应都不做持久化处理. 但是, ...
- http1.1 协议响应方面参数
HTTP1.1 提供了一个必须的Host字段,而且建立好一次连接之后可以重复使用.提高用户的上网体验. 响应信息 HTTP/1.1 200 OK ...
- 既然HTTP1.1协议里每个连接默认都是持久连接,那么为何当今所有报文都在使用Connetion:Keep-Alive
说白了,如果你发起时有,那么服务器支持,回应时也会有,不支持,也就没有了.所以一般客户端都会默认带着发,服务端返回不返回就是服务端的事了. 1. 支不支持长连接,关键在于服务端是否支持. 如果服务端不 ...
- HTTP1.1协议请求方面参数
请求信息 GET / HTTP/1.1 ->请求行 Accept: */* Accept-Languag ...
- Http协议相关内容
http协议概述 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义浏览器与WEB服务器之间交换数据的过程. 客户 ...
- 深入浅出HTTP协议(WEB开发和面试必备)
1. 基础概念篇 a.简介 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(World Wide Web Consortium)和 ...
随机推荐
- Database Vault Administrator的使用
第一次安装Database Vault的时候,先安装好了Database Vault.然后才安装的EM.发现,根本无法訪问<span><span>Database Vault ...
- [转]Java的文件读写操作
file(内存)----输入流---->[程序]----输出流---->file(内存) 当我们读写文本文件的时候,采用Reader是非常方便的,比如FileReader,InputStr ...
- Java – Stream has already been operated upon or closed
Java – Stream has already been operated upon or closed package com.mkyong.java8; import java.util.Ar ...
- Jmeter录制HTTPS
Jmeter有录制功能,录制HTTPs需要增加一个证书配置,录制步骤如下: 1.打开jmeter,添加线程组.线程组右键,逻辑控制器>录制控制器 工作台 右键 非测试元件 >HTTP代理服 ...
- 关于 Xcode 调试工具 GDB and LLDB
xcode 5 好像弃用了GDB .而默认使用苹果自己开发的调试工具 LLDB. http://iosre.com/forum.php?mod=viewthread&tid=52 LLD ...
- SaaS多租户模式数据存储方案
云计算多租户几乎用于所有软件即服务 (Software as a Service, SaaS) 应用程序,因为计算资源是可伸缩的,而且这些资源的分配由实际使用决定.话虽如此,用户可以通过 Intern ...
- Ingress 原理及实例
什么是Ingress 在Kubernetes中,Service和Pod的IP地址只能在集群内部网络中路由,所有到达“边界路由器”(Edge Router)的网络流量要么被丢弃,要么被转发到别处,从概念 ...
- JDK1.5新特性,基础类库篇,System类
一. 背景 System.getenv(String)方法继续有效:增加了新的System.getenv()方法,返回保存环境变量的Map<String,String>. 同时增加了以纳秒 ...
- Android build.gradle
apply plugin: 'com.android.application' android { /*编译版本 , 因此我们强烈推荐总是使用最新的 SDK 进行编译 targetSdkVersion ...
- bestcoder 48# wyh2000 and a string problem (水题)
wyh2000 and a string problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K ...