Meta http-equiv屬性與HTTP頭的Expires中(Cache-control)詳解


一、概述

A、http-equiv顧名思義,相當於http的文件頭作用,它可以向瀏覽器傳回一些有用的信息,以幫助正確和精確地顯示網頁內容,與之對應的屬性值為content,content中的內容其實就是各個參數的變量值。

B、Cache-control用於控制HTTP緩存(在HTTP/1.0中可能部分沒實現,僅僅實現了Pragma: no-cache)

二、基本內容

meat標簽的http-equiv屬性語法格式是:<meta http-equiv="參數" content="參數變量值"> ;
其中http-equiv屬性主要有以下幾種參數:

1、Expires(期限) 
說明:可以用於設定網頁的到期時間。一旦網頁過期,必須到服務器上重新傳輸。 
用法:

<meta http-equiv="expires" content="Wed, 20 Jun 2007 22:33:00 GMT">

  注意:必須使用GMT的時間格式。 

2、Pragma(cache模式) 

說明:是用於設定禁止瀏覽器從本地機的緩存中調閱頁面內容,設定后一旦離開網頁就無法從Cache中再調出 
用法:

<meta http-equiv="Pragma" content="no-cache">

  注意:這樣設定,訪問者將無法脫機瀏覽。 

3、Refresh(刷新)

說明:自動刷新並指向新頁面。 
用法:

<meta http-equiv="Refresh" content="2;URL=http://www.net.cn/">

  注意:其中的2是指停留2秒鍾后自動刷新到URL網址。

4、Set-Cookie(cookie設定)

<meta http-equiv="Set-Cookie" content="cookievalue=xxx;expires=Wednesday, 20-Jun-2007 22:33:00 GMT; path=/">

  注意:必須使用GMT的時間格式。

5、Window-target(顯示窗口的設定) 

說明:強制頁面在當前窗口以獨立頁面顯示。 
用法:

<meta http-equiv="Window-target" content="_top">

  注意:用來防止別人在框架里調用自己的頁面。

6、content-Type(顯示字符集的設定) 

說明:設定頁面使用的字符集。 
用法:

<meta http-equiv="content-Type" content="text/html; charset=gb2312">

7、Pics-label(網頁等級評定) 

用法:

<meta http-equiv="Pics-label" contect="">

  說明:在IE的internet選項中有一項內容設置,可以防止瀏覽一些受限制的網站,而網站的限制級別就是通過meta屬性來設置的。

8、Page_Enter、Page_Exit 

設定進入頁面時的特殊效果

<meta http-equiv="Page-Enter" contect="revealTrans(duration=1.0,transtion=12)">    

設定離開頁面時的特殊效果

<meta http-equiv="Page-Exit" contect="revealTrans(duration=1.0,transtion=    12)">  

Duration的值為網頁動態過渡的時間,單位為秒。  
Transition是過渡方式,它的值為0到23,分別對應24種過渡方式。如下表:  
0    盒狀收縮    1    盒狀放射  
2    圓形收縮    3    圓形放射  
4    由下往上    5    由上往下  
6    從左至右    7    從右至左  
8    垂直百葉窗    9    水平百葉窗  
10    水平格狀百葉窗    11垂直格狀百葉窗  
12    隨意溶解    13從左右兩端向中間展開  
14從中間向左右兩端展開    15從上下兩端向中間展開  
16從中間向上下兩端展開    17    從右上角向左下角展開  
18    從右下角向左上角展開    19    從左上角向右下角展開  
20    從左下角向右上角展開    21    水平線狀展開  
22    垂直線狀展開    23    隨機產生一種過渡方式  

9、清除緩存(再訪問這個網站要重新下載!)

<meta http-equiv="cache-control" content="no-cache">

  

 1 數據包中的格式:
 2 
 3 Cache-Control: cache-directive
 4 
 5 cache-directive可以為以下:
 6 
 7 request時用到:
 8 
 9 | "no-cache"
10 | "no-store"
11 | "max-age" "=" delta-seconds
12 | "max-stale" [ "=" delta-seconds ]
13 | "min-fresh" "=" delta-seconds
14 | "no-transform"
15 | "only-if-cached"
16 | "cache-extension"
17 response時用到:
18 
19 | "public"
20 | "private" [ "=" <"> field-name <"> ]
21 | "no-cache" [ "=" <"> field-name <"> ]
22 | "no-store"
23 | "no-transform"
24 | "must-revalidate"
25 | "proxy-revalidate"
26 | "max-age" "=" delta-seconds
27 | "s-maxage" "=" delta-seconds
28 | "cache-extension"
29 部分說明:
30 根據是否可緩存分為
31 Public  指示響應可被任何緩存區緩存。
32 Private  指示對於單個用戶的整個或部分響應消息,不能被共享緩存處理。這允許服務器僅僅描述當用戶的
33 部分響應消息,此響應消息對於其他用戶的請求無效。
34 no-cache  指示請求或響應消息不能緩存(HTTP/1.0用Pragma的no-cache替換)
35 根據什么能被緩存
36 no-store  用於防止重要的信息被無意的發布。在請求消息中發送將使得請求和響應消息都不使用緩存。
37 根據緩存超時
38 max-age  指示客戶機可以接收生存期不大於指定時間(以秒為單位)的響應。
39 min-fresh  指示客戶機可以接收響應時間小於當前時間加上指定時間的響應。
40 max-stale  指示客戶機可以接收超出超時期間的響應消息。如果指定max-stale消息的值,那么客戶機可以
41 接收超出超時期指定值之內的響應消息。
42 Expires 表示存在時間,允許客戶端在這個時間之前不去檢查(發請求),等同max-age的
43 效果。但是如果同時存在,則被Cache-Control的max-age覆蓋。
44 格式:
45 Expires = "Expires" ":" HTTP-date
46 例如
47 Expires: Thu, 01 Dec 1994 16:00:00 GMT (必須是GMT格式)
48  
49 2.應用
50 通過HTTP的META設置expires和cache-control
51 <meta http-equiv="Cache-Control" content="max-age=7200" />
52 <meta http-equiv="Expires" content="Mon, 20 Jul 2009 23:00:00 GMT" />
53 上述設置僅為舉例,實際使用其一即可。這樣寫的話僅對該網頁有效,對網頁中的圖片或其他請求無效,並不會做任何cache。
54 這樣客戶端的請求就多了,盡管只是檢查Last-modified狀態的東西,但是請求一多對瀏覽速度必定有影響。
55 如果要對文件添加cache可以通過apache的mod_expire模塊,寫法為
56 <IfModule mod_expires.c>
57 ExpiresActive On
58 ExpiresDefault "access plus 1 days"
59 </IfModule>
60 記得ExpiresActive設為On,我起先沒設置On,似乎怎樣YSlow都查不到緩存機制。這樣添加的話就是默認所有的。
61 如果要針對個別MIME類型則可以:
62 ExpiresByType image/gif "access plus 5 hours 3 minutes"
63 見 Apache Module mod_expires
64 另外,當點擊瀏覽器上的刷新,客戶端發送的請求中均是max-age=0,表示validate操作,發送請求到服務器
65 要求檢查cache,再更新cache,一般得到的是304 Not Modified,表示沒變動。
具體用法

10、設定網頁的到期時間 

<meta http-equiv="expires" content="0">

11、關鍵字,給搜索引擎用的 

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

12.頁面描述 

<meta http-equiv="description" content="This is my page">


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM