Maison  >  Article  >  développement back-end  >  Comment gérer l'erreur PHP 304

Comment gérer l'erreur PHP 304

藏色散人
藏色散人original
2022-10-31 10:19:232119parcourir

Comment paramétrer l'erreur PHP 304 : 1. Ouvrez le fichier php correspondant ; 2. Modifiez la valeur md5 de l'heure ; 3. Passez "@trim($_SERVER['HTTP_IF_NONE_MATCH']) == $etag) {header( La méthode "HTTP /1.1 304 Not Modified");exit;" génère 304.

Comment gérer l'erreur PHP 304

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur Dell G3.

Que faire si une erreur PHP 304 est signalée ?

Les fichiers statiques php renvoient 304

Parfois, certains fichiers statiques (tels que des images) seront générés par php, et vous constaterez que les requêtes sont toutes au nombre de 200. C'est un gaspillage de ressources de demander les fichiers statiques sur le serveur à chaque fois. Comment laisser le navigateur Qu'en est-il des images mises en cache ? Nous devons afficher 304 en php.

Nous pouvons utiliser HTTP_IF_MODIFIED_SINCE en php combiné avec etag pour ce faire. Etag n'a pas de format clairement défini. On peut utiliser la valeur md5 de l'heure de modification du fichier. Le code est le suivant :

Le code est le suivant :

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;
    }
}

Dans le code, il peut être appelé avant le fichier statique. (comme une image) est émis.

Apprentissage recommandé : "Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn