html页面中元的作用以及页面的缓存与不缓存设置的案例分析

  介绍

小编给大家分享一下html页面中元的作用以及页面的缓存与不缓存设置的案例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

html的HTTP协议头信息中控制着页面在几个地方的缓存信息,包括浏览器端,中间缓存服务器端(如:鱿鱼等),Web服务器端。本文讨论头信息中带缓存控制信息的html页面(JSP/Servlet生成好出来的也是html页面)在中间缓存服务器中的缓存情况。

HTTP协议中关于缓存的信息头关键字包括cache - control (HTTP1.1),编译指示(HTTP1.0),最后修改,等到期。

HTTP1.0中通过控制页面缓存,可以设置:编译指示或no - cache。网上有非常多的文章说明如何控制不让浏览器或中间缓存服务器缓存页面,通常设置的值为没有缓存,不过这个值不这么保险,通常还加上到期置为0来达到目的。但是如我们刻意需要浏览器或缓存服务器缓存住我们的页面这个值则要设置为编译指示。

HTTP1.1中启用来控制页面的缓存与否,这里介绍几个常用的参数:

? no - cache,浏览器和缓存服务器都不应该缓存页面信息;

?公众浏览器和缓存服务器都可以缓存页面信息;

?不是商店,请求和响应的信息都不应该被存储在对方的磁盘系统中,

?must-revalidate,对于客户机的每次请求,代理服务器必须想服务器验证缓存是否过时;

last - modified只页面的最后生成时间,格林尼治时间格式;

过到期时期限值,格林尼治时间格式,指浏览器或缓存服务器在该时间点后必须从真正的服务器中获取新的页面信息;

上面两个值在JSP中设置值为字符型的格林尼治时间格式,无法生效,设置长类型才生效;

下面是一个测试例子:

包com.servlet;   进口java.io.IOException;   进口java.io.PrintWriter;   进口javax.servlet.ServletException;   进口javax.servlet.http.HttpServlet;   进口javax.servlet.http.HttpServletRequest;   进口javax.servlet.http.HttpServletResponse;   公开课ServletA扩展HttpServlet {   @Override   公共空间服务(HttpServletRequest请求,HttpServletResponse响应)   抛出ServletException IOException {   response.setContentType (“text/html");//servlet页面默认是不缓存的//本页面允许在浏览器端或缓存服务器中缓存,时限为秒。//秒之内重新进入该页面的话不会进入该servlet的   贾瓦. 乌蒂尔日期日期=new java.util.Date ();   response.setDateHeader (“Last-Modified" date.getTime ());//最后修改:页面的最后生成时间   response.setDateHeader (“Expires" date.getTime () +);//到期:过时期限值   response.setHeader (“Cache-Control",“public");//cache - control来控制页面的缓存与否,公众:浏览器和缓存服务器都可以缓存页面信息;   response.setHeader (“Pragma",“Pragma");//编译指示:设置页面是否缓存,为编译指示则缓存,no - cache则不缓存//不允许浏览器端或缓存服务器缓存当前页面信息。/*响应。setHeader (“Pragma",“no-cache");   response.setDateHeader (“Expires");   响应。addHeader (“Cache-Control",“no-cache");//浏览器和缓存服务器都不应该缓存页面信息   响应。addHeader (“Cache-Control",“no-store");//请求和响应的信息都不应该被存储在对方的磁盘系统中;   响应。addHeader (“Cache-Control",“must-revalidate"); *///于客户机的每次请求,代理服务器必须想服务器验证缓存是否过时;   System.out.println(“进入了servlet");   response.getWriter () .write(“欢迎光临我的主页“);   }   }

如果需要在html页面上设置不缓存,这在& lt; head>标签中加入如下语句:

& lt;元http-equiv=皃ragma"内容=皀o-cache"比;   & lt;元http-equiv=癱ache-control"内容=皀o-cache"比;   & lt;元http-equiv=癳xpires"内容=?“在

元是用来在HTML文档中模拟HTTP协议的响应头报文.meta标签用于网页的& lt; head>与& lt;/head>中,元标签的用处很多.meta的属性有两种:名字和http-equiv.name属性主要用于描述网页,对应于内容(网页内容),以便于搜索引擎机器人查找,分类(目前几乎所有的搜索引擎都使用网上机器人自动查找元值来给网页分类)。这其中最重要的是描述(站点在搜索引擎上的描述)和关键词(分类关键词),所以应该给每页加一个元值。比较常用的有以下几个:

<>强名称属性

1, & lt;元name=癎enerator"传热性能=?“在用以说明生成工具(如网页制作4.0)等;

html页面中元的作用以及页面的缓存与不缓存设置的案例分析