一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP下利用header()函數設置瀏覽器緩存的代碼

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

2019-11-08 13:32php教程網 PHP教程

PHP高級應用學習筆記之 利用header()函數設置瀏覽器緩存

這涉及到4種頭標類型: 

Last-Modified(最后修改時間); 
Expires(有效期限); 
Pragma(編譯指示); 
Cache-Control(緩存控制); 
  前三個頭標屬于HTTP1.0標準。頭標Last-Modified使用UTC日期時間值。如果緩存系統發現Last-Modified值比頁面緩存版本的更接 
近當前時間,他就知道應該使用來自服務器的新版本。 

  Expires 表明了緩存版本何時應該過期(格林威治標準時間)。把它設置為一個以前的時間就會強制使用服務器上的頁面。 

  Pragma生命了頁面數據應該如何被處理。可以這樣避免對頁面進行緩存: 

  header("Pragma:no-cache"); 

  Cache-Co0ntrol 頭標是在HTTP1.1里添加的,能夠實現更細致的控制(還應該繼續使用HTTP1.0頭標)。Cache-Control的設置有 
很多,如下表: 

指令

含義

public

可以在任何地方緩存

private

只能被瀏覽器緩存

no-cache

不能在任何地方緩存

must-revalidate

緩存必須檢查更新版本

proxy-revalidate

代理緩存必須檢查更新版本

max-age

內容能夠被緩存的時期,以秒表示

s-maxage

覆蓋共享緩存的max-age設置

下面實例利用header()設置瀏覽器的緩存: 

復制代碼代碼如下:


<?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.連接數據庫后獲取數據表中最新的日期值date_added,date_completed,用UNIX_TIMESTAMP()函數將返回值轉化為整數然后獲取最大值賦予$max。 
2.定義一個合理緩存時間。 

復制代碼代碼如下:


$interval=60*60*6 


合理值屈居于頁面本身、訪問者的數量和頁面的更新頻率,以上代碼為6個小時。 
3.發送Last-Modified頭標。 

復制代碼代碼如下:


header("Last-Modified:".gmdate("r",($max+$interval))); 


gmdate()函數使用了參數"r"時,會根據HTTP規范返回相應的日期格式。 
4.設置Expires頭標。 

復制代碼代碼如下:


header ("Expires: " . gmdate ("r", ($max + $interval))); 


5.設置Cache_Control頭標。 

復制代碼代碼如下:


header ("Cache-Control: max-age=$interval"); 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美日韩中文字幕一区二区高清 | 99热这里只有精品免费 | aaaa黄| 深夜福利一区 | 青青青国产手机在线播放 | 99ri在线精品视频 | 久久这里都是精品 | 亚洲国产精品久久网午夜小说 | 国产小视频在线播放 | 四虎精品视频在线永久免费观看 | 春宵福利网站在线观看 | b站免费 | 久久精品人人做人人爽97 | 五月天色网站 | 美女模特被c免费视频 | 暖暖视频高清图片免费完整版 | 亚洲欧美日韩成人一区在线 | m3u8久久国产精品影院 | 亚洲高清国产品国语在线观看 | 国产色视频一区二区三区 | 天天曰 | 女王调奴丨vk | 天天天做天天天天爱天天想 | 69av免费视频 | 国产精品免费看香蕉 | 白虎喷水| 校花被老头夺去第一次动图 | 嫩草在线观看视频 | 草β好视频 | bbc japanese黑人强行 | 日本高清在线精品一区二区三区 | 黄瓜视频免费 | 冰漪丰满大乳人体图片欣赏 | 亚洲精品色婷婷在线影院麻豆 | 97se亚洲国产综合自在线观看 | 久久精品国产久精国产果冻传媒 | h视频免费高清在线观看 | 午夜视频一区 | 护士xxxx | 免费看一级毛片 | 欧美黄站 |