begin process at 2012 02 09 11:45:55
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > ETAGS, UN GAIN DE TEMPS.

ETAGS, UN GAIN DE TEMPS.


 Information sur la source

Note :
10 / 10 - par 2 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Astuces Niveau :Débutant Date de création :01/09/2002 Date de mise à jour :01/09/2002 17:48:15 Vu :5 143

Auteur : CrowEye

Ecrire un message privé
Site perso
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 Description

jrcache .. pour ceux qui ne connaissent pas, jrcache est un code permettant un cache de page.

Le principe est simple, le client envoit ,si auparavant il a visité la page, une entete appellée "Etags". Les informations que cette entete fournit est à comparer avec l'entete "Last Modified" qui définit quand la page a été modifiée pour la dernière fois. Je m'explique, l'information que l'entete "Etags" envoit est le code html de la page demandée cryptée en md5(), enfin pour etre simple c ça & un etags est composé de 32caractères. Le serveur, lui, recoit l'etags, crypte la page demandée & compare avec l'etags recu; si l'etags recu & l'etags du serveur sont identiques, la page n'a pas changé & le serveur renvoit une erreur 304, qui signifie que le navigateur peut affichier la page qu'il a dans son cache sinon le serveur envoit la page avec son nouvelle Etags.

C pas compliqué.

Source

  • <?php
  • ob_start();
  • ob_implicit_flush(0);
  • function jrcache_done()
  • {
  • global $HTTP_SERVER_VARS;
  • $contents = ob_get_contents();
  • ob_end_clean();
  • $m = '"jrc-' . md5($contents) . '"';
  • header("ETag: $m");
  • $inm = stripslashes($HTTP_SERVER_VARS["HTTP_IF_NONE_MATCH"]);
  • if (strstr($inm, $m)) {
  • // ETag hasn't changed, return "304 Not Modified"
  • header("HTTP/1.0 304");
  • } else {
  • echo($contents);
  • }
  • exit;
  • }
  • ?>
<?php


ob_start();
ob_implicit_flush(0);

function jrcache_done()
{
     global $HTTP_SERVER_VARS;
     $contents = ob_get_contents();
     ob_end_clean();
     $m = '"jrc-' . md5($contents) . '"';
     header("ETag: $m");
     $inm = stripslashes($HTTP_SERVER_VARS["HTTP_IF_NONE_MATCH"]);
     if (strstr($inm, $m)) {
          // ETag hasn't changed, return "304 Not Modified"
          header("HTTP/1.0 304");
     } else {
          echo($contents);
     }
     exit;
}

?> 
 



 Conclusion


Placer &lt;?php require_once("jrcache.php"); ?&gt; dans le haut de la page, et &lt;?php jrcache_done(); ?&gt; tout à la fin.


 Sources du même auteur

TIPS: RÉCUPÉRER SON IDENTIFIANT CARAMAIL.
REMPLACER UN MOT DANS UNE PAGE.
PAGING: EXPLICATION BASIQUE.
ACCELERER L'AFFICHAGE DE VOS PAGES
GÉNÉRER UNE GALLERIE D'IMAGES

 Sources de la même categorie

Source avec Zip Source avec une capture GENERATEUR D'ONGLET DE NAVIGATION PHP par pos123
FORMATER UN LIEN YOUTUBE, DAILYMOTION OU VIMEO POUR L'UTILIS... par kgb93
Source avec Zip Source avec une capture PAGINATION + FICHIER CSS par profdi
Source avec Zip Source avec une capture SYSTEME D'AUTHENTIFICATION PHP AVEC PROTÉCTION KEYLOGGER par mtrix000
Source avec Zip Source avec une capture GENERATEUR DE BOUTONS DE PARTAGES POUR RESEAUX SOCIAUX par cod57

Commentaires et avis

Commentaire de CrowEye le 01/09/2002 17:50:07

ben zut alors, ya des fautes ...

Commentaire de Kirua le 02/09/2002 11:43:52

c corrigé maintenant?

Commentaire de CrowEye le 02/09/2002 17:23:00

fautes d'orthographe :)

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,562 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales