- 浏览: 599193 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (669)
- oracle (36)
- java (98)
- spring (48)
- UML (2)
- hibernate (10)
- tomcat (7)
- 高性能 (11)
- mysql (25)
- sql (19)
- web (42)
- 数据库设计 (4)
- Nio (6)
- Netty (8)
- Excel (3)
- File (4)
- AOP (1)
- Jetty (1)
- Log4J (4)
- 链表 (1)
- Spring Junit4 (3)
- Autowired Resource (0)
- Jackson (1)
- Javascript (58)
- Spring Cache (2)
- Spring - CXF (2)
- Spring Inject (2)
- 汉字拼音 (3)
- 代理模式 (3)
- Spring事务 (4)
- ActiveMQ (6)
- XML (3)
- Cglib (2)
- Activiti (15)
- 附件问题 (1)
- javaMail (1)
- Thread (19)
- 算法 (6)
- 正则表达式 (3)
- 国际化 (2)
- Json (3)
- EJB (3)
- Struts2 (1)
- Maven (7)
- Mybatis (7)
- Redis (8)
- DWR (1)
- Lucene (2)
- Linux (73)
- 杂谈 (2)
- CSS (13)
- Linux服务篇 (3)
- Kettle (9)
- android (81)
- protocol (2)
- EasyUI (6)
- nginx (2)
- zookeeper (6)
- Hadoop (41)
- cache (7)
- shiro (3)
- HBase (12)
- Hive (8)
- Spark (15)
- Scala (16)
- YARN (3)
- Kafka (5)
- Sqoop (2)
- Pig (3)
- Vue (6)
- sprint boot (19)
- dubbo (2)
- mongodb (2)
最新评论
HTTP Cache:response头部设置、http页面meta标签设置
response Http头部设置
html页面中meta设置
meta是用来在HTML文档中模拟HTTP协议的响应头报文。meta 标签用于网页的<head>与</head>中,meta 标签的用处很多。meta 的属性有两种:name和http-equiv。name属性主要用于描述网页,对应于content(网页内容),以便于搜索引擎机器人查找、分类(目前几乎所有的搜索引擎都使用网上机器人自动查找meta值来给网页分类)。这其中最重要的是description(站点在搜索引擎上的描述)和keywords(分类关键词),所以应该给每页加一个meta值。
http-equiv属性
1、<meta http-equiv="Content-Type" contect="text/html";charset=gb_2312-80">
和 <meta http-equiv="Content-Language" contect="zh-CN">用以说明主页制作所使用的文字以及语言;
又如英文是ISO-8859-1字符集,还有BIG5、utf-8、shift-Jis、Euc、Koi8-2等字符集;
2、<meta http-equiv="Refresh" contect="n;url=http://yourlink">定时让网页在指定的时间n内,跳转到页面http://yourlink;
3、<meta http-equiv="Expires" contect="Mon,12 May 2001 00:20:00 GMT">可以用于设定网页的到期时间,一旦过期则必须到服务器上重新调用。需要注意的是必须使用GMT时间格式;
4、<meta http-equiv="Pragma" contect="no-cache">是用于设定禁止浏览器从本地机的缓存中调阅页面内容,设定后一旦离开网页就无法从Cache中再调出;
5、<meta http-equiv="set-cookie" contect="Mon,12 May 2001 00:20:00 GMT">cookie设定,如果网页过期,存盘的cookie将被删除。需要注意的也是必须使用GMT时间格式;
6、<meta http-equiv="Pics-label" contect="">网页等级评定,在IE的internet选项中有一项内容设置,可以防止浏览一些受限制的网站,而网站的限制级别就是通过meta属性来设置的;
7、<meta http-equiv="windows-Target" contect="_top">强制页面在当前窗口中以独立页面显示,可以防止自己的网页被别人当作一个frame页调用;
8、<meta http-equiv="Page-Enter" contect="revealTrans(duration=10,transtion= 50)">和<meta http-equiv="Page-Exit" contect="revealTrans(duration=20,transtion=6)">设定进入和离开页面时的特殊效果,这个功能即FrontPage中的“格式/网页过渡”,不过所加的页面不能够是一个frame页面。
当资源第一次被访问的时候,HTTP头部如下
(Request-Line) GET /a.html HTTP/1.1
Host 127.0.0.1
User-Agent Mozilla/5.0 (X11; U; Linux i686; zh-CN; rv:1.9.0.15) Gecko/2009102815 Ubuntu/9.04 (jaunty) Firefox/3.0.15
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language zh-cn,zh;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset gb2312,utf-8;q=0.7,;q=0.7
Keep-Alive 300
Connection keep-alive
HTTP返回头部如下
(Status-Line) HTTP/1.1 200 OK
Date Thu, 26 Nov 2009 13:50:54 GMT
Server Apache/2.2.11 (Unix) PHP/5.2.9
Last-Modified Thu, 26 Nov 2009 13:50:19 GMT
Etag “8fb8b-14-4794674acdcc0″
Accept-Ranges bytes
Content-Length 20
Keep-Alive timeout=5, max=100
Connection Keep-Alive
Content-Type text/html
当资源第一次被访问的时候,http返回200的状态码,并在头部携带上当前资源的一些描述信息,如
Last-Modified // 指示最后修改的时间
Etag // 指示资源的状态唯一标识
Expires // 指示资源在浏览器缓存中的过期时间
接着浏览器会将文件缓存到Cache目录下,并同时保存文件的上述信息
当第二次请求该文件时,浏览器会先检查Cache目录下是否含有该文件,
如果有,并且还没到Expires设置的时间,即文件还没有过期,那么此时浏览器将直接从Cache目录中读取文件,而不再发送请求
如果文件此时已经过期,则浏览器会发送一次HTTP请求到WebServer,并在头部携带上当前文件的如下信息
If-Modified-Since Thu, 26 Nov 2009 13:50:19 GMT
If-None-Match ”8fb8b-14-4794674acdcc0″
即把上一次修改的时间,以及上一次请求返回的Etag值一起发送给服务器。服务器在接收到这个请求的时候,先解析Header里头的信息,然后校验该头部信息。 如果该文件从上次时间到现在都没有过修改或者Etag信息没有变化,则服务端将直接返回一个304的状态,而不再返回文件资源,状态头部如下
(Status-Line) HTTP/1.1 304 Not Modified
Date Thu, 26 Nov 2009 14:09:07 GMT
Server Apache/2.2.11 (Unix) PHP/5.2.9
Connection Keep-Alive
Keep-Alive timeout=5, max=100
Etag “8fb8b-14-4794674acdcc0″
这样,就能够很大程度上减少网络带宽以及提升用户的浏览器体验。 当然,如果服务器经过匹配发现文件修改过了,就会将文件资源返回,并带上新文件状态信息。
基本字段
Pragma
Pragma头域用来包含实现特定的指令,最常用的是Pragma:no-cache。在HTTP/1.1协议中,它的含义和Cache- Control:no-cache相同。
Expires
文件在本地缓存的过期时间,如果浏览器发现缓存中的文件没有过期,则不发送请求(有例外,后面介绍)
Cache-Control
Cache -Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置 Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括no-cache、no-store、max-age、 max-stale、min-fresh、only-if-cached,响应消息中的指令包括public、private、no-cache、no- store、no-transform、must-revalidate、proxy-revalidate、max-age。各个消息中的指令含义如 下:
Public指示响应可被任何缓存区缓存。
Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请 求无效。
no-cache指示请求或响应消息不能缓存
no-store用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存。
max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应。
min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应。
max-stale指示客户机可以接收超出超时期间的响应消息。如果指定max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应 消息。
Etag/If-None-Match
一对验证文件实体的标记 “Entity Tag”的响应/请求头 Apache中,ETag的值,默认是对文件的索引节(INode),大小(Size)和最后修改时间(MTime)进行Hash后得到的
Last-Modified/If-Modified-Since
一对验证文件的修改时间的响应/请求头
Expires、Cache-Control、Last-Modified、ETag是RFC 2616(HTTP/1.1)协议中和网页缓存相关的几个字段。 前两个用来控制缓存的失效日期,浏览器可通过它来判定,需不需要发出HTTP请求; 后两个用来验证网页的有效性,服务器端利用它来验证这个文件是否需要重新返回
Last-Modified VS Etag
既然有了Last-Modified,为什么还要用ETag字段呢?因为如果在一秒钟之内对一个文件进行两次更改,Last-Modified就会不正确。因此,HTTP/1.1利用Entity Tag头提供了更加严格的验证。
不同的情况
上面描述的是一个普通的浏览器缓存状态,在实际应用中,如页面跳转(点击页面链接跳转,window.open,在地址栏敲回车,刷新页面)等操作,会有一些区别
普通页面跳转
普通页面跳转包括链接点击跳转,用js脚本打开新页面(window.open) 无缓存情况下,请求会返回所有资源结果 设置Expires并且未过期时,浏览器将不会发出http请求 如果Expires过期,则会发送相应请求,并附带上Last-Modifed等信息,供服务器校验
页面刷新(F5)
这种情况一下,一般会看到很多304的请求,就是说即便资源设置了Expires且未过期,浏览器也会发送相应请求 IE和FF稍有区别 IE:
If-Modified-Since Wed, 18 Nov 2009 15:54:52 GMT
If-None-Match ”2360492659″
Pragma: no-cache // 禁止缓存
FF:
If-Modified-Since Wed, 18 Nov 2009 15:54:52 GMT
If-None-Match ”2360492659″
Cache-Control max-age=0 // 文件立即过期
强制刷新(Ctrl+F5)
效果和无缓存时候一致,返回200的结果
response Http头部设置
package com.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class ServletA extends HttpServlet { @Override public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); //servlet页面默认是不缓存的 //本页面允许在浏览器端或缓存服务器中缓存,时限为20秒。 //20秒之内重新进入该页面的话不会进入该servlet的 java.util.Date date = new java.util.Date(); response.setDateHeader("Last-Modified",date.getTime()); //Last-Modified:页面的最后生成时间 response.setDateHeader("Expires",date.getTime()+20000); //Expires:过时期限值 response.setHeader("Cache-Control", "public"); //Cache-Control来控制页面的缓存与否,public:浏览器和缓存服务器都可以缓存页面信息; response.setHeader("Pragma", "Pragma"); //Pragma:设置页面是否缓存,为Pragma则缓存,no-cache则不缓存 //不允许浏览器端或缓存服务器缓存当前页面信息。 /*response.setHeader( "Pragma", "no-cache" ); response.setDateHeader("Expires", 0); response.addHeader( "Cache-Control", "no-cache" );//浏览器和缓存服务器都不应该缓存页面信息 response.addHeader( "Cache-Control", "no-store" );//请求和响应的信息都不应该被存储在对方的磁盘系统中; response.addHeader( "Cache-Control", "must-revalidate" );*///于客户机的每次请求,代理服务器必须想服务器验证缓存是否过时; System.out.println("进入了servlet"); response.getWriter().write("欢迎光临我的主页"); } }
html页面中meta设置
meta是用来在HTML文档中模拟HTTP协议的响应头报文。meta 标签用于网页的<head>与</head>中,meta 标签的用处很多。meta 的属性有两种:name和http-equiv。name属性主要用于描述网页,对应于content(网页内容),以便于搜索引擎机器人查找、分类(目前几乎所有的搜索引擎都使用网上机器人自动查找meta值来给网页分类)。这其中最重要的是description(站点在搜索引擎上的描述)和keywords(分类关键词),所以应该给每页加一个meta值。
http-equiv属性
1、<meta http-equiv="Content-Type" contect="text/html";charset=gb_2312-80">
和 <meta http-equiv="Content-Language" contect="zh-CN">用以说明主页制作所使用的文字以及语言;
又如英文是ISO-8859-1字符集,还有BIG5、utf-8、shift-Jis、Euc、Koi8-2等字符集;
2、<meta http-equiv="Refresh" contect="n;url=http://yourlink">定时让网页在指定的时间n内,跳转到页面http://yourlink;
3、<meta http-equiv="Expires" contect="Mon,12 May 2001 00:20:00 GMT">可以用于设定网页的到期时间,一旦过期则必须到服务器上重新调用。需要注意的是必须使用GMT时间格式;
4、<meta http-equiv="Pragma" contect="no-cache">是用于设定禁止浏览器从本地机的缓存中调阅页面内容,设定后一旦离开网页就无法从Cache中再调出;
5、<meta http-equiv="set-cookie" contect="Mon,12 May 2001 00:20:00 GMT">cookie设定,如果网页过期,存盘的cookie将被删除。需要注意的也是必须使用GMT时间格式;
6、<meta http-equiv="Pics-label" contect="">网页等级评定,在IE的internet选项中有一项内容设置,可以防止浏览一些受限制的网站,而网站的限制级别就是通过meta属性来设置的;
7、<meta http-equiv="windows-Target" contect="_top">强制页面在当前窗口中以独立页面显示,可以防止自己的网页被别人当作一个frame页调用;
8、<meta http-equiv="Page-Enter" contect="revealTrans(duration=10,transtion= 50)">和<meta http-equiv="Page-Exit" contect="revealTrans(duration=20,transtion=6)">设定进入和离开页面时的特殊效果,这个功能即FrontPage中的“格式/网页过渡”,不过所加的页面不能够是一个frame页面。
当资源第一次被访问的时候,HTTP头部如下
(Request-Line) GET /a.html HTTP/1.1
Host 127.0.0.1
User-Agent Mozilla/5.0 (X11; U; Linux i686; zh-CN; rv:1.9.0.15) Gecko/2009102815 Ubuntu/9.04 (jaunty) Firefox/3.0.15
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language zh-cn,zh;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset gb2312,utf-8;q=0.7,;q=0.7
Keep-Alive 300
Connection keep-alive
HTTP返回头部如下
(Status-Line) HTTP/1.1 200 OK
Date Thu, 26 Nov 2009 13:50:54 GMT
Server Apache/2.2.11 (Unix) PHP/5.2.9
Last-Modified Thu, 26 Nov 2009 13:50:19 GMT
Etag “8fb8b-14-4794674acdcc0″
Accept-Ranges bytes
Content-Length 20
Keep-Alive timeout=5, max=100
Connection Keep-Alive
Content-Type text/html
当资源第一次被访问的时候,http返回200的状态码,并在头部携带上当前资源的一些描述信息,如
Last-Modified // 指示最后修改的时间
Etag // 指示资源的状态唯一标识
Expires // 指示资源在浏览器缓存中的过期时间
接着浏览器会将文件缓存到Cache目录下,并同时保存文件的上述信息
当第二次请求该文件时,浏览器会先检查Cache目录下是否含有该文件,
如果有,并且还没到Expires设置的时间,即文件还没有过期,那么此时浏览器将直接从Cache目录中读取文件,而不再发送请求
如果文件此时已经过期,则浏览器会发送一次HTTP请求到WebServer,并在头部携带上当前文件的如下信息
If-Modified-Since Thu, 26 Nov 2009 13:50:19 GMT
If-None-Match ”8fb8b-14-4794674acdcc0″
即把上一次修改的时间,以及上一次请求返回的Etag值一起发送给服务器。服务器在接收到这个请求的时候,先解析Header里头的信息,然后校验该头部信息。 如果该文件从上次时间到现在都没有过修改或者Etag信息没有变化,则服务端将直接返回一个304的状态,而不再返回文件资源,状态头部如下
(Status-Line) HTTP/1.1 304 Not Modified
Date Thu, 26 Nov 2009 14:09:07 GMT
Server Apache/2.2.11 (Unix) PHP/5.2.9
Connection Keep-Alive
Keep-Alive timeout=5, max=100
Etag “8fb8b-14-4794674acdcc0″
这样,就能够很大程度上减少网络带宽以及提升用户的浏览器体验。 当然,如果服务器经过匹配发现文件修改过了,就会将文件资源返回,并带上新文件状态信息。
基本字段
Pragma
Pragma头域用来包含实现特定的指令,最常用的是Pragma:no-cache。在HTTP/1.1协议中,它的含义和Cache- Control:no-cache相同。
Expires
文件在本地缓存的过期时间,如果浏览器发现缓存中的文件没有过期,则不发送请求(有例外,后面介绍)
Cache-Control
Cache -Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置 Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括no-cache、no-store、max-age、 max-stale、min-fresh、only-if-cached,响应消息中的指令包括public、private、no-cache、no- store、no-transform、must-revalidate、proxy-revalidate、max-age。各个消息中的指令含义如 下:
Public指示响应可被任何缓存区缓存。
Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请 求无效。
no-cache指示请求或响应消息不能缓存
no-store用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存。
max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应。
min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应。
max-stale指示客户机可以接收超出超时期间的响应消息。如果指定max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应 消息。
Etag/If-None-Match
一对验证文件实体的标记 “Entity Tag”的响应/请求头 Apache中,ETag的值,默认是对文件的索引节(INode),大小(Size)和最后修改时间(MTime)进行Hash后得到的
Last-Modified/If-Modified-Since
一对验证文件的修改时间的响应/请求头
Expires、Cache-Control、Last-Modified、ETag是RFC 2616(HTTP/1.1)协议中和网页缓存相关的几个字段。 前两个用来控制缓存的失效日期,浏览器可通过它来判定,需不需要发出HTTP请求; 后两个用来验证网页的有效性,服务器端利用它来验证这个文件是否需要重新返回
Last-Modified VS Etag
既然有了Last-Modified,为什么还要用ETag字段呢?因为如果在一秒钟之内对一个文件进行两次更改,Last-Modified就会不正确。因此,HTTP/1.1利用Entity Tag头提供了更加严格的验证。
不同的情况
上面描述的是一个普通的浏览器缓存状态,在实际应用中,如页面跳转(点击页面链接跳转,window.open,在地址栏敲回车,刷新页面)等操作,会有一些区别
普通页面跳转
普通页面跳转包括链接点击跳转,用js脚本打开新页面(window.open) 无缓存情况下,请求会返回所有资源结果 设置Expires并且未过期时,浏览器将不会发出http请求 如果Expires过期,则会发送相应请求,并附带上Last-Modifed等信息,供服务器校验
页面刷新(F5)
这种情况一下,一般会看到很多304的请求,就是说即便资源设置了Expires且未过期,浏览器也会发送相应请求 IE和FF稍有区别 IE:
If-Modified-Since Wed, 18 Nov 2009 15:54:52 GMT
If-None-Match ”2360492659″
Pragma: no-cache // 禁止缓存
FF:
If-Modified-Since Wed, 18 Nov 2009 15:54:52 GMT
If-None-Match ”2360492659″
Cache-Control max-age=0 // 文件立即过期
强制刷新(Ctrl+F5)
效果和无缓存时候一致,返回200的结果
发表评论
文章已被作者锁定,不允许评论。
-
html pre标签使用(保留空格和回车等操作)
2018-05-15 08:37 2441pre 元素可定义预格式化的文本。被包围在 pre 元素中的文 ... -
java RESTful 详解
2018-04-27 11:35 642(1)每一个URI代表一种资源,独一无二; (2)客户端 ... -
缓存穿透(预设值防止多个进程读取数据库)、缓存并发、缓存失效(过期时间用随机数)学习
2018-02-22 14:25 433一、缓存穿透 我们在项 ... -
web http协议学习
2017-11-15 15:15 514HTTP协议是web开发必须掌握的协议之一,文章的内容并没有按 ... -
spring boot进行mybatis和JPA的整合
2017-08-30 10:12 4682初识spring boot Spring框架功能很强大,但是就 ... -
java CyclicBarrier进行并发编程
2017-08-25 15:44 673CyclicBarrier允许一组线程相互等待达到一个公共的障 ... -
java 几种性能优化的总结
2017-08-23 14:08 3251、使用StringBuilder 一般 ... -
java 使用kyro进行高性能序列化对象和集合
2017-08-23 14:05 2152import java.io.ByteArrayInp ... -
java 对重复电话号码进行排除的优化(排序和前后对比)
2017-08-22 14:14 7901.先对10万数据排序; 2.对比前后两条数据 ; 3.筛 ... -
如何解决常见的缓存穿透、并发和失效问题
2017-04-12 09:25 505缓存穿透与并发方案 相信不少朋友之前看过很多类似的文章,但是 ... -
系统架构设计理论与原则、负载均衡及高可用系统设计速记
2017-02-14 15:14 487一、系统架构设计理论与原则 这里主要介绍几种常见的架构设计理论 ... -
java Cookie操作总结
2017-02-04 09:14 474java对cookie的操作比较简单,主要介绍下建立cooki ... -
java Statement和PreparedStatement的区别
2016-12-02 10:43 424第一 prepareStatement会先初始化SQL,先把这 ... -
java AbstractQueuedSynchronizer介绍以及原理分析
2016-11-18 14:27 505简介 提供了一个基于FIF ... -
java AtomicInteger基于CAS的乐观锁实现
2016-11-16 11:13 4691. 悲观锁与乐观锁 ... -
java Guava cache学习笔记
2016-11-15 18:26 731缓存,在我们日常开发中是必不可少的一种解决性能问题的方法。简单 ... -
公钥、私钥和SSL详细说明(生动例子)
2016-11-11 08:43 575一,公钥私钥 1,公钥 ... -
spring ehcache配置以及使用(afterPropertiesSet)
2016-11-08 19:24 1360spring 配置ehcache例子:http://blog. ... -
java 各个连接池学习总结(DBCP C3P0 PROXOOL)
2016-11-08 19:00 1242要了解Java连接池我们先要了解数据库连接池(conne ... -
java 过滤器、监听器和拦截器区别
2016-11-08 10:21 416过滤器 Servlet中的过滤器Filter是实现了javax ...
相关推荐
例如,`meta`标签的`http-equiv`属性可以设置`Pragma`和`Cache-Control`的等效值: ```html <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache, no-store, must-...
<meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> ``` 这些元标签的效果与通过Servlet设置HTTP头部相同。它们会覆盖任何通过HTTP响应头设置的缓存控制指令。 #### ...
这些`<meta>`标签的作用与上面通过`response`对象设置的HTTP响应头相同。 ##### 3. 使用过滤器(Filter) 对于大型项目来说,每个JSP页面都手动添加上述代码可能会显得繁琐。这时可以考虑使用过滤器(Filter)来统一...
如果只是简单的定时跳转,可以考虑使用 `<meta>` 标签;而对于需要交互性的跳转,则可以选择 JavaScript。 ### 结论 通过对比分析 PHP 的 `header()` 函数、HTML 的 `<meta>` 标签和 JavaScript 的 `location.href...
这里的关键在于使用`Response.CacheControl`属性设置为`no-cache`来禁止客户端缓存,并通过`Response.Expires`属性设置为一个较大的负值(如-1000),来确保代理服务器也不会缓存该页面。 #### PHP页面的缓存禁用...
- `<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">`:等同于设置了`Cache-Control`响应头。 - `<META HTTP-EQUIV="Expires" CONTENT="0">`:与设置了`Expires`响应头相同。 ### 实现原理及注意事项 1. **...
<meta http-equiv="Cache-Control" content="no-cache, must-revalidate"> <meta http-equiv="expires" content="0"> ``` - 这些元信息标签告诉浏览器不要缓存当前页面,而是每次都向服务器发起请求。 2. **URL...
在IT领域,网页缓存是浏览器为了提高网页加载速度和减少网络流量消耗而采用的一种机制。然而,在某些情况下,如后台操作或实时更新的大型网站新闻页面,我们需要确保用户每次看到的页面都是最新版本,这就涉及到如何...
1, 使用java提供的方法,在jsp或者servlet中都可以 <% response.setHeader(Pragma,No-cache); response.setHeader(Cache-Control,no-...META HTTP-EQUIV=Cache-Control CONTENT=no-cache> <META HTTP-
<meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta ...
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"> <META HTTP-EQUIV="Expires" CONTENT="0"> ``` 这里的元信息标签作用与JSP或Servlet中设置的响应头类似,它们告诉浏览器不要缓存页面。但是,由于HTML元...
meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta ...
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"> ``` 5. **`Refresh`**:指定页面在多少秒后刷新或重定向到另一个URL。 ```html <meta http-equiv="Refresh" content="5; ...
在HTML `<head>` 标签内使用`<meta>`标签来模拟HTTP响应头,控制浏览器缓存行为: - **name属性**:主要用于描述网页元信息,如`<meta name="Keywords" content="">`定义关键词,`<meta name="Description" content...
<meta http-equiv="cache-control" content="no-cache"/> <meta http-equiv="expires" content="0"/> ``` 这些标签分别设置了Pragma、Cache-Control和Expires属性,指示浏览器不要缓存页面。 2. **服务器响应头...
Pragma标签适用于HTTP/1.0,而Cache-Control标签则更适用于HTTP/1.1协议,Expires标签则是设定内容过期的时间。 结合这两种方法,可以在各种版本的浏览器中更有效地防止页面被缓存。然而,需要注意的是,虽然这样...
在Wap技术的学习过程中,从初级到中级的过渡意味着我们需要深入理解网络通信的基本原理,尤其是HTTP 1.1协议及其相关优化策略,如缓存和验证机制。以下是对这些知识点的详细阐述: 1. **HTTP 1.1简要介绍** HTTP ...
<meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> frameset{width:960px;margin:0px auto;} * //UserBean ub = (UserBean)session.getAttribute(...
<meta http-equiv="Cache-Control" content="no-cache"> <meta http-equiv="Pragma" content="no-cache"> ``` 这里的`Expires`标签告诉浏览器页面已经过期,`Cache-Control`和`Pragma`标签共同指示浏览器不存储...
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"> <META HTTP-EQUIV="Expires" CONTENT="0"> ``` ##### 7. 用户验证逻辑 在另一个JSP页面(如`check.jsp`)中,通过比较用户输入的验证码与存储在会话中的...