国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 網(wǎng)站 > WEB開發(fā) > 正文

HTTP協(xié)議頭信息Cache-Control

2024-04-27 15:05:09
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
HTML的HTTP協(xié)議頭信息中控制著頁(yè)面在幾個(gè)地方的緩存信息,包括瀏覽器端,中間緩存服務(wù)器端(如:squid等),Web服務(wù)器端。本文討論頭信息 中帶緩存控制信息的HTML頁(yè)面(jsp/Servlet生成好出來(lái)的也是HTML頁(yè)面)在中間緩存服務(wù)器中的緩存情況。      HTTP協(xié)議中關(guān)于緩存的信息頭關(guān)鍵字包括Cache-Control(HTTP1.1),PRagma(HTTP1.0),last-Modified,Expires等。      HTTP1.0中通過(guò)Pragma 控制頁(yè)面緩存,可以設(shè)置:Pragma或no-cache。網(wǎng)上有非常多的文章說(shuō)明如何控制不讓瀏覽器或中間緩存服務(wù)器緩存頁(yè)面,通常設(shè)置的值為no- cache,不過(guò)這個(gè)值不這么保險(xiǎn),通常還加上Expires置為0來(lái)達(dá)到目的。但是如我們刻意需要瀏覽器或緩存服務(wù)器緩存住我們的頁(yè)面這個(gè)值則要設(shè)置為 Pragma。      HTTP1.1中啟用Cache-Control 來(lái)控制頁(yè)面的緩存與否,這里介紹幾個(gè)常用的參數(shù):no-cache,瀏覽器和緩存服務(wù)器都不應(yīng)該緩存頁(yè)面信息;public,瀏覽器和緩存服務(wù)器都可以緩存頁(yè)面信息;no-store,請(qǐng)求和響應(yīng)的信息都不應(yīng)該被存儲(chǔ)在對(duì)方的磁盤系統(tǒng)中;must-revalidate,對(duì)于客戶機(jī)的每次請(qǐng)求,代理服務(wù)器必須想服務(wù)器驗(yàn)證緩存是否過(guò)時(shí);       Last-Modified只頁(yè)面的最后生成時(shí)間,GMT格式;       Expires過(guò)時(shí)期限值,GMT格式,指瀏覽器或緩存服務(wù)器在該時(shí)間點(diǎn)后必須從真正的服務(wù)器中獲取新的頁(yè)面信息;       上面兩個(gè)值在JSP中設(shè)置值為字符型的GMT格式,無(wú)法生效,設(shè)置long類型才生效; 下面是一個(gè)測(cè)試?yán)樱? package com.servlet; 2  3 import java.io.IOException; 4 import java.io.PrintWriter; 5  6 import javax.servlet.ServletException; 7 import javax.servlet.http.HttpServlet; 8 import javax.servlet.http.HttpServletRequest; 9 import javax.servlet.http.HttpServletResponse;10 11 public class ServletA extends HttpServlet {12     @Override13     public void service(HttpServletRequest request, HttpServletResponse response)14             throws ServletException, IOException {15         response.setContentType("text/html");16         //servlet頁(yè)面默認(rèn)是不緩存的17         //本頁(yè)面允許在瀏覽器端或緩存服務(wù)器中緩存,時(shí)限為20秒。18         //20秒之內(nèi)重新進(jìn)入該頁(yè)面的話不會(huì)進(jìn)入該servlet的19         java.util.Date date = new java.util.Date();    20         response.setDateHeader("Last-Modified",date.getTime()); //Last-Modified:頁(yè)面的最后生成時(shí)間 21         response.setDateHeader("Expires",date.getTime()+20000); //Expires:過(guò)時(shí)期限值 22         response.setHeader("Cache-Control", "public"); //Cache-Control來(lái)控制頁(yè)面的緩存與否,public:瀏覽器和緩存服務(wù)器都可以緩存頁(yè)面信息;23         response.setHeader("Pragma", "Pragma"); //Pragma:設(shè)置頁(yè)面是否緩存,為Pragma則緩存,no-cache則不緩存24 25         //不允許瀏覽器端或緩存服務(wù)器緩存當(dāng)前頁(yè)面信息。26         /*response.setHeader( "Pragma", "no-cache" );   27         response.setDateHeader("Expires", 0);   28         response.addHeader( "Cache-Control", "no-cache" );//瀏覽器和緩存服務(wù)器都不應(yīng)該緩存頁(yè)面信息29         response.addHeader( "Cache-Control", "no-store" );//請(qǐng)求和響應(yīng)的信息都不應(yīng)該被存儲(chǔ)在對(duì)方的磁盤系統(tǒng)中;    30         response.addHeader( "Cache-Control", "must-revalidate" );*///于客戶機(jī)的每次請(qǐng)求,代理服務(wù)器必須想服務(wù)器驗(yàn)證緩存是否過(guò)時(shí);31 32         System.out.println("進(jìn)入了servlet");33         response.getWriter().write("歡迎光臨我的主頁(yè)");34     }35 36     37 }  如果需要在html頁(yè)面上設(shè)置不緩存,這在<head>標(biāo)簽中加入如下語(yǔ)句:1 <meta http-equiv="pragma" content="no-cache">2 <meta http-equiv="cache-control" content="no-cache">3 <meta http-equiv="expires" content="0">   附:html頁(yè)面中meta的作用  meta是用來(lái)在HTML文檔中模擬HTTP協(xié)議的響應(yīng)頭報(bào)文。meta 標(biāo)簽用于網(wǎng)頁(yè)的<head>與</head>中,meta 標(biāo)簽的用處很多。meta 的屬性有兩種:name和http-equiv。name屬性主要用于描述網(wǎng)頁(yè),對(duì)應(yīng)于content(網(wǎng)頁(yè)內(nèi)容),以便于搜索引擎機(jī)器人查找、分類(目前幾乎所有的搜索引擎都使用網(wǎng)上機(jī)器人自動(dòng)查找meta值來(lái)給網(wǎng)頁(yè)分類)。這其中最重要的是description(站點(diǎn)在搜索引擎上的描述)和keyWords(分類關(guān)鍵詞),所以應(yīng)該給每頁(yè)加一個(gè)meta值。比較常用的有以下幾個(gè):  name 屬性  1、<meta name="Generator" contect="">用以說(shuō)明生成工具(如Microsoft FrontPage 4.0)等;  2、<meta name="KEYWords" contect="">向搜索引擎說(shuō)明你的網(wǎng)頁(yè)的關(guān)鍵詞;  3、<meta name="DEscription" contect="">告訴搜索引擎你的站點(diǎn)的主要內(nèi)容;  4、<meta name="Author" contect="你的姓名">告訴搜索引擎你的站點(diǎn)的制作的作者;  5、<meta name="Robots" contect= "all|none|index|noindex|follow|nofollow">  其中的屬性說(shuō)明如下:  設(shè)定為all:文件將被檢索,且頁(yè)面上的鏈接可以被查詢;  設(shè)定為none:文件將不被檢索,且頁(yè)面上的鏈接不可以被查詢;  設(shè)定為index:文件將被檢索;  設(shè)定為follow:頁(yè)面上的鏈接可以被查詢;  設(shè)定為noindex:文件將不被檢索,但頁(yè)面上的鏈接可以被查詢;  設(shè)定為nofollow:文件將不被檢索,頁(yè)面上的鏈接可以被查詢。  http-equiv屬性  1、<meta http-equiv="Content-Type" contect="text/html";charset=gb_2312-80">和 <meta http-equiv="Content-Language" contect="zh-CN">用以說(shuō)明主頁(yè)制作所使用的文字以及語(yǔ)言;  又如英文是ISO-8859-1字符集,還有BIG5、utf-8、shift-Jis、Euc、Koi8-2等字符集;  2、<meta http-equiv="Refresh" contect="n;url=http://yourlink">定時(shí)讓網(wǎng)頁(yè)在指定的時(shí)間n內(nèi),跳轉(zhuǎn)到頁(yè)面http://yourlink;  3、<meta http-equiv="Expires" contect="Mon,12 May 2001 00:20:00 GMT">可以用于設(shè)定網(wǎng)頁(yè)的到期時(shí)間,一旦過(guò)期則必須到服務(wù)器上重新調(diào)用。需要注意的是必須使用GMT時(shí)間格式;  4、<meta http-equiv="Pragma" contect="no-cache">是用于設(shè)定禁止瀏覽器從本地機(jī)的緩存中調(diào)閱頁(yè)面內(nèi)容,設(shè)定后一旦離開網(wǎng)頁(yè)就無(wú)法從Cache中再調(diào)出;  5、<meta http-equiv="set-cookie" contect="Mon,12 May 2001 00:20:00 GMT">cookie設(shè)定,如果網(wǎng)頁(yè)過(guò)期,存盤的cookie將被刪除。需要注意的也是必須使用GMT時(shí)間格式;  6、<meta http-equiv="Pics-label" contect="">網(wǎng)頁(yè)等級(jí)評(píng)定,在IE的internet選項(xiàng)中有一項(xiàng)內(nèi)容設(shè)置,可以防止瀏覽一些受限制的網(wǎng)站,而網(wǎng)站的限制級(jí)別就是通過(guò)meta屬性來(lái)設(shè)置的;  7、<meta http-equiv="windows-Target" contect="_top">強(qiáng)制頁(yè)面在當(dāng)前窗口中以獨(dú)立頁(yè)面顯示,可以防止自己的網(wǎng)頁(yè)被別人當(dāng)作一個(gè)frame頁(yè)調(diào)用;  8、<meta http-equiv="Page-Enter" contect="revealTrans(duration=10,transtion= 50)">和<meta http-equiv="Page-Exit" contect="revealTrans(duration=20,transtion=6)">設(shè)定進(jìn)入和離開頁(yè)面時(shí)的特殊效果,這個(gè)功能即FrontPage中的“格式/網(wǎng)頁(yè)過(guò)渡”,不過(guò)所加的頁(yè)面不能夠是一個(gè)frame頁(yè)面。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 陵川县| 清涧县| 大丰市| 忻城县| 浦县| 伊宁县| 武邑县| 客服| 平潭县| 江孜县| 根河市| 珠海市| 阳朔县| 奎屯市| 镇安县| 河池市| 监利县| 滨海县| 馆陶县| 商南县| 汾西县| 淳化县| 句容市| 茶陵县| 洪江市| 旬阳县| 万全县| 晋中市| 左云县| 乾安县| 临邑县| 广东省| 定远县| 上饶市| 嵊州市| 台东县| 高要市| 宜川县| 东乡| 兴化市| 桐乡市|