国产探花免费观看_亚洲丰满少妇自慰呻吟_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; 
    }
}

 

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 自治县| 磴口县| 肇源县| 琼中| 台湾省| 深圳市| 衡阳县| 团风县| 正蓝旗| 阳西县| 潞西市| 古交市| 兰溪市| 措美县| 台中县| 宿州市| 平舆县| 江口县| 琼结县| 达州市| 綦江县| 广安市| 永康市| 临夏县| 格尔木市| 西城区| 迭部县| 来安县| 马公市| 巨野县| 读书| 观塘区| 南华县| 东丰县| 正宁县| 扎赉特旗| 南汇区| 富锦市| 滨州市| 黄山市| 东乡|