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

首頁 > 開發 > PHP > 正文

php靜態文件返回304技巧分享

2024-05-04 23:29:51
字體:
來源:轉載
供稿:網友
這篇文章主要分享了一則php靜態文件返回304的小技巧,需要的朋友可以參考下
 

有時一些靜態文件(如圖片)會由php輸出,會發現請求都是200,靜態文件每次都去服務器上請求太浪費資源了,這時如何讓瀏覽器緩存圖片呢?就需要我們在php中輸出304了。

我們可以利用php中的 HTTP_IF_MODIFIED_SINCE 結合etag來干這事。Etag沒有明確規定的格式,我們可以用文件修改時間的md5值,代碼如下:

 

復制代碼代碼如下:

private function _addEtag($file) {
    $last_modified_time = filemtime($file); 
    $etag = md5_file($file);
    // always send headers 
    header("Last-Modified: ".gmdate("D, d M Y H:i:s", $last_modified_time)." GMT"); 
    header("Etag: $etag"); 
    // exit if not modified
    if (@strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) == $last_modified_time || 
    @trim($_SERVER['HTTP_IF_NONE_MATCH']) == $etag) { 
        header("HTTP/1.1 304 Not Modified"); 
        exit; 
    }
}

 

在代碼中可以在靜態文件(如圖片)輸出之前調用即可。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鹤山市| 高碑店市| 和林格尔县| 星子县| 张家界市| 汉寿县| 固安县| 上林县| 龙口市| 都匀市| 广西| 股票| 柘荣县| 遂平县| 兴隆县| 嘉义县| 依安县| 甘孜| 中江县| 开化县| 武平县| 嵊州市| 柞水县| 湖北省| 耒阳市| 深水埗区| 安化县| 唐河县| 普洱| 汉中市| 齐齐哈尔市| 阳新县| 海盐县| 岳阳市| 运城市| 綦江县| 鄂州市| 新巴尔虎右旗| 平顺县| 虹口区| 敖汉旗|