久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

在 PHP 中回答 HTTP_IF_MODIFIED_SINCE 和 HTTP_IF_NONE_MAT

Answering HTTP_IF_MODIFIED_SINCE and HTTP_IF_NONE_MATCH in PHP(在 PHP 中回答 HTTP_IF_MODIFIED_SINCE 和 HTTP_IF_NONE_MATCH)
本文介紹了在 PHP 中回答 HTTP_IF_MODIFIED_SINCE 和 HTTP_IF_NONE_MATCH的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

我有用 PHP 5.1.0+ 制作的可緩存動態(tài)內(nèi)容.我已經(jīng)向客戶端發(fā)送了正確的標(biāo)頭(包括 Last-Modified 和 ETag).

I have cacheable dynamic content made in PHP 5.1.0+. I already send the correct headers (including Last-Modified and ETag) to clients.

我現(xiàn)在希望我的腳本能夠在存在時回答 $_SERVER['HTTP_IF_MODIFIED_SINCE']$_SERVER['HTTP_IF_NONE_MATCH'].當(dāng)條件匹配時,我想向客戶端回答 HTTP 304 "Not Modified".

I now want my script to be able to answer $_SERVER['HTTP_IF_MODIFIED_SINCE'] and $_SERVER['HTTP_IF_NONE_MATCH'] when present. When the conditions matches, I want to answer a HTTP 304 "Not Modified" to clients.

正確的條件是什么?我什么時候發(fā)出 304 而不是整個內(nèi)容?

What are the correct conditions? When exactly I issue a 304 instead of the whole content?

有問題的已接受答案如何知道何時發(fā)送 304未修改的響應(yīng) 似乎正確地發(fā)出了這個問題,但我很難將該代碼移植到 PHP 5.

The accepted answer in question How to know when to send a 304 Not Modified response seems to issue this correctly but I have hard times to port that code to PHP 5.

謝謝!

推薦答案

我一直在用:

function caching_headers ($file, $timestamp) {
    $gmt_mtime = gmdate('r', $timestamp);
    header('ETag: "'.md5($timestamp.$file).'"');
    header('Last-Modified: '.$gmt_mtime);
    header('Cache-Control: public');

    if(isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) || isset($_SERVER['HTTP_IF_NONE_MATCH'])) {
        if ($_SERVER['HTTP_IF_MODIFIED_SINCE'] == $gmt_mtime || str_replace('"', '', stripslashes($_SERVER['HTTP_IF_NONE_MATCH'])) == md5($timestamp.$file)) {
            header('HTTP/1.1 304 Not Modified');
            exit();
        }
    }
}

不記得是我寫的還是從其他地方得到的...

Don't remember whether I wrote it or got it from somewhere else...

我通常以這種方式在文件頂部使用它:

I'm normally using it at the top of a file in this way:

caching_headers ($_SERVER['SCRIPT_FILENAME'], filemtime($_SERVER['SCRIPT_FILENAME']));

這篇關(guān)于在 PHP 中回答 HTTP_IF_MODIFIED_SINCE 和 HTTP_IF_NONE_MATCH的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

Joining 2 tables in SELECT(MYSQL/PHP)(在 SELECT(MYSQL/PHP) 中加入 2 個表)
How to make lt;option selected=quot;selectedquot;gt; set by MySQL and PHP?(如何使lt;option selected=“selectedgt;由 MySQL 和 PHP 設(shè)置?)
Auto populate a select box using an array in PHP(使用 PHP 中的數(shù)組自動填充選擇框)
PHP SQL SELECT where like search item with multiple words(PHP SQL SELECT where like search item with multiple words)
json_encode produce JSON_ERROR_UTF8 from MSSQL-SELECT(json_encode 從 MSSQL-SELECT 產(chǎn)生 JSON_ERROR_UTF8)
MySQL ORDER BY rand(), name ASC(MySQL ORDER BY rand(),名稱 ASC)
主站蜘蛛池模板: 欧美性猛交一区二区三区精品 | 精品区一区二区 | 日韩三片 | 亚洲高清一区二区三区 | 欧美一二区| 牛牛热在线视频 | 精品美女在线观看视频在线观看 | 欧美日韩中文在线观看 | 国产一区二区三区精品久久久 | 一级a爱片久久毛片 | 极品粉嫩国产48尤物在线播放 | 久久看精品 | 国产精品入口 | 日韩精品一区在线观看 | 亚洲www.| 国产精品一级 | 视频一二区 | 亚洲综合大片69999 | 最新黄色在线观看 | av色在线 | 国产成人精品午夜 | 在线色网 | 亚洲欧美视频 | 免费观看成人性生生活片 | 久久久国产一区二区三区四区小说 | 一区二区三区四区视频 | 国产成人啪免费观看软件 | 日韩在线播放网址 | 欧美性生活视频 | 国产精品国色综合久久 | 99精品久久 | 久久久久成人精品 | 国产亚洲精品久久午夜玫瑰园 | 国产精品久久久久无码av | 日韩成人在线免费视频 | 日韩免费高清视频 | 玖玖在线免费视频 | 精品久久国产 | 精品欧美激情在线观看 | 久久久久亚洲精品 | 国产精品一区二区久久精品爱微奶 |