Heim >Backend-Entwicklung >PHP-Problem >So gehen Sie mit dem PHP 304-Fehler um
So stellen Sie den PHP 304-Fehler ein: 1. Öffnen Sie die entsprechende PHP-Datei. 2. Ändern Sie den MD5-Wert der Zeit. 3. Übergeben Sie „@trim($_SERVER['HTTP_IF_NONE_MATCH']) == $etag) {header( Die Methode „HTTP /1.1 304 Not Modified“);exit; gibt 304 aus.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, Dell G3-Computer.
Was tun, wenn ein PHP 304-Fehler gemeldet wird?
php-statische Dateien geben 304 zurück
Manchmal werden einige statische Dateien (z. B. Bilder) von PHP ausgegeben, und Sie werden feststellen, dass die Anforderungen alle 200 sind. Es ist eine Ressourcenverschwendung, die statischen Dateien auf dem Server anzufordern jedes Mal. Wie kann ich den Browser zulassen? Was ist mit zwischengespeicherten Bildern? Wir müssen 304 in PHP ausgeben.
Dazu können wir HTTP_IF_MODIFIED_SINCE in PHP in Kombination mit Etag verwenden. Etag hat kein klar definiertes Format. Wir können den MD5-Wert der Dateiänderungszeit verwenden. Der Code lautet wie folgt:
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; } }
Im Code kann er vor der statischen Datei aufgerufen werden (z. B. ein Bild) ausgegeben wird.
Empfohlenes Lernen: „
PHP-Video-TutorialDas obige ist der detaillierte Inhalt vonSo gehen Sie mit dem PHP 304-Fehler um. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!