Last-Modified(最后修改時(shí)間); Expires(有效期限); Pragma(編譯指示); Cache-Control(緩存控制);   前三個(gè)頭標(biāo)屬于HTTP1.0標(biāo)準(zhǔn)。頭標(biāo)Last-Modified使用UTC日期時(shí)間值。如果緩存系統(tǒng)發(fā)現(xiàn)Last-Mo " /> 国产精品一区二区a,一区二区成人av,亚洲综合福利

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

PHP下利用header()函數(shù)設(shè)置瀏覽器緩存的代碼

這涉及到4種頭標(biāo)類型:

Last-Modified(最后修改時(shí)間);
Expires(有效期限);
Pragma(編譯指示);
Cache-Control(緩存控制);
  前三個(gè)頭標(biāo)屬于HTTP1.0標(biāo)準(zhǔn)。頭標(biāo)Last-Modified使用UTC日期時(shí)間值。如果緩存系統(tǒng)發(fā)現(xiàn)Last-Modified值比頁面緩存版本的更接
近當(dāng)前時(shí)間,他就知道應(yīng)該使用來自服務(wù)器的新版本。

  Expires 表明了緩存版本何時(shí)應(yīng)該過期(格林威治標(biāo)準(zhǔn)時(shí)間)。把它設(shè)置為一個(gè)以前的時(shí)間就會(huì)強(qiáng)制使用服務(wù)器上的頁面。

  Pragma生命了頁面數(shù)據(jù)應(yīng)該如何被處理。可以這樣避免對(duì)頁面進(jìn)行緩存:

  header("Pragma:no-cache");

  Cache-Co0ntrol 頭標(biāo)是在HTTP1.1里添加的,能夠?qū)崿F(xiàn)更細(xì)致的控制(還應(yīng)該繼續(xù)使用HTTP1.0頭標(biāo))。Cache-Control的設(shè)置有
很多,如下表:
指令含義
public可以在任何地方緩存
private只能被瀏覽器緩存
no-cache不能在任何地方緩存
must-revalidate緩存必須檢查更新版本
proxy-revalidate代理緩存必須檢查更新版本
max-age內(nèi)容能夠被緩存的時(shí)期,以秒表示
s-maxage覆蓋共享緩存的max-age設(shè)置
下面實(shí)例利用header()設(shè)置瀏覽器的緩存:
復(fù)制代碼 代碼如下:
<?php # Script 2.7 - view_tasks.php
// Connect to the database:
$dbc = @mysqli_connect ('localhost', 'username', 'password', 'test') OR die ('<p>Could not connect to the database!</p></body></html>');
// Get the latest dates as timestamps:
$q = 'SELECT UNIX_TIMESTAMP(MAX(date_added)), UNIX_TIMESTAMP(MAX(date_completed)) FROM tasks';
$r = mysqli_query($dbc, $q);
list($max_a, $max_c) = mysqli_fetch_array($r, MYSQLI_NUM);
// Determine the greater timestamp:
$max = ($max_a > $max_c) ? $max_a : $max_c;
// Create a cache interval in seconds:
$interval = 60 * 60 * 6; // 6 hours
// Send the header:
header ("Last-Modified: " . gmdate ('r', $max));
header ("Expires: " . gmdate ("r", ($max + $interval)));
header ("Cache-Control: max-age=$interval");
?>

1.連接數(shù)據(jù)庫后獲取數(shù)據(jù)表中最新的日期值date_added,date_completed,用UNIX_TIMESTAMP()函數(shù)將返回值轉(zhuǎn)化為整數(shù)然后獲取最大值賦予$max。
2.定義一個(gè)合理緩存時(shí)間。
復(fù)制代碼 代碼如下:
$interval=60*60*6

合理值屈居于頁面本身、訪問者的數(shù)量和頁面的更新頻率,以上代碼為6個(gè)小時(shí)。
3.發(fā)送Last-Modified頭標(biāo)。
復(fù)制代碼 代碼如下:
header("Last-Modified:".gmdate("r",($max+$interval)));

gmdate()函數(shù)使用了參數(shù)"r"時(shí),會(huì)根據(jù)HTTP規(guī)范返回相應(yīng)的日期格式。
4.設(shè)置Expires頭標(biāo)。
復(fù)制代碼 代碼如下:
header ("Expires: " . gmdate ("r", ($max + $interval)));

5.設(shè)置Cache_Control頭標(biāo)。
復(fù)制代碼 代碼如下:
header ("Cache-Control: max-age=$interval");

php技術(shù)PHP下利用header()函數(shù)設(shè)置瀏覽器緩存的代碼,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 黑河市| 黑龙江省| 沐川县| 浦县| 仪陇县| 泊头市| 青阳县| 天长市| 额尔古纳市| 东丰县| 南投市| 阆中市| 城固县| 神池县| 准格尔旗| 黄浦区| 青阳县| 长汀县| 石屏县| 赞皇县| 巩义市| 松阳县| 龙南县| 汕头市| 天门市| 博爱县| 蛟河市| 安达市| 榕江县| 泸水县| 宁强县| 阿鲁科尔沁旗| 莱州市| 肥乡县| 盐亭县| 康马县| 汉沽区| 房产| 乌拉特中旗| 铜梁县| 内江市|