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

时间: 2024-10-12 20:19:25

HTTP1.1 协议的相关文章

HTTP1.1协议中文版-RFC2616

转自:http://www.cnpaf.net/Class/HTTP/200811/23277.html 说明 本文档规定了互联网社区的标准组协议,并需要讨论和建议以便更加完善.请参考 “互联网官方协议标准”(STD 1)来了解本协议的标准化状态.本协议不限流传发布. 版权声明 Copyright (C) The Internet Society (1999).   All Rights Reserved. 摘要 超文本传输协议(HTTP)是一种为分布式,合作式,超媒体信息系统.它是一种通用的,

HTTP1.1协议在再体验

1.HTTP请求   * 分类:请求行.请求头.请求体   * 请求行:描述请求的资源   * 格式:请求方法  资源路径  协议   * 例如:GET /day01/1.html HTTP/1.1 * 请求方法 * GET:请求内容追加在URL之后      * URL的长度有限制1k   * POST:请求内容放置在请求体中   * 请求头    * Accept:浏览器通知服务器,浏览器可以接受的数据类型 * Accept-charset:浏览器通知服务器,浏览器支持的字符集 * Acce

HTTP1.1协议详解

1.3协议详细讲解 请求行:GET /App1/1.html HTTP/1.1 GET:请求方式.默认的请求方式.其他常用的请求方式还有POST. GET的特点:默认的请求方式. /App1/c.html?username=sdsfds&password=234324 把表单的请求的数据放在了请求的URI的后面.?username=sdsfds&password=234324 这样不好:暴露数据:请求行长度有限. POST的特点(经常使用的):借助HTML中的form表单.<form

既然HTTP1.1协议里每个连接默认都是持久连接,那么为何当今所有报文都在使用Connetion:Keep-Alive

说白了,如果你发起时有,那么服务器支持,回应时也会有,不支持,也就没有了.所以一般客户端都会默认带着发,服务端返回不返回就是服务端的事了. 1. 支不支持长连接,关键在于服务端是否支持. 如果服务端不支持,你Connetion:Keep-Alive也没用. 2. HTTP1.1 默认的意思,就是既支持长连接又支持短连接,默认设置为长连接. 3. 短连接不是废弃了,很多应用短连接反而更好也更简单.

http协议下的keep alive

1.keep-alive linux内核配置有一项tcp_keepalive_time,即tcp的保活定时器.当网络上两个建立连接的进程都没有数据向对方发送的时候,tcp会隔段时间发送一次保活数据,以保持连接,间隔时间就是tcp_keepalive_time设置的.默认是7200秒.在优化web服务器时,应该将数值设置的小一点,当客户关机,崩溃的时候可以更快的发现,而没必要等待2个小时才察觉,这样可以更快的清理无效的连接. http的keepalive : 默认http服务器在完成一个http响

深入理解http/https协议

深入理解HTTP协议(转) http协议学习系列 1. 基础概念篇 1.1 介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC,RFC 1945定义了HTTP/1.0版本.其中最著名的就是RFC 2616.RFC 2616定义了今天普

HTTP协议头部与Keep-Alive模式详解(转)

转自:http://a280606790.iteye.com/blog/1095085 http1.1 中怎么打开持久连接,怎么关闭,怎么传输数据(确定本次数据是否传输完毕) 1.什么是Keep-Alive模式? 我们知道HTTP协议采用“请求-应答”模式,当使用普通模式,即非KeepAlive模式时,每个请求/应答客户和服务器都要新建一个连接,完成 之后立即断开连接(HTTP协议为无连接的协议):当使用Keep-Alive模式(又称持久连接.连接重用)时,Keep-Alive功能使客户端到服

思维导图分析http之http协议版本

httpd协议之http协议版本 1.结构总览      在http协议这一章,我将先后介绍上图六个部分,本文先介绍http的协议版本. 2.http协议版本 http协议的历史并不长,从1991的0.9版本到现在(2017)仅仅才20多年,算算下来,http还是正处青年,正是大好发展的好时光.虽然短短不到27年,却改变了人类认识世界的方式.在这里,必须给伟大的先贤们鞠躬致敬. 0.9版本功能十分简单,仅仅一个get功能,get翻译过来就是获得,在这里指获取资源.因为功能简陋,自然得不到很大的应

HTTP协议概述

HTTP协议概述 什么是HTTP协议 1.HTTP协议:hypertext transfer protocol(超文本传输协议) 规定客户端和服务器如何进行交互 基于TCP/IP协议的应用层协议 2.HTTP最基本的三个条件: 1.HTTP协议基于请求响应模型 2.一次请求对应一次响应 3.请求只能由客户端发出,服务器只能被动的等待请求做出响应 2.HTTP1.0和HTTP1.1的区别 1.HTTP1.0协议中,客户端与web服务器建立连接后,只能获得一个web资源. 2.HTTP1.1协议,客