Új hozzászólás Aktív témák

  • Találtam egy tök jó, de még egyszerűbb HTTP-alapú tartalom-cachelési módszert, gondoltam megosztom, mert semmi az egész, mégis valamivel gyorsabb lesz adott lap - pontosabban nem küldi el még egyszer az egész oldalt, ha nem változott és már a böngésző berakta a gyorstárba.

    ob_start(); // kimenet-pufferelés
    // (nem küldi el a kimenetet azonnal a böngészőnek)

    // oldalgenerálás
    // sok sok szkript
    // HTML generálás
    // stb-stb

    $body = ob_get_end(); // puffer változóba ürítése

    $etag = md5($body); // oldal md5 kivonata

    header("Etag: $etag"); // md5 elküldése böngészőnek
    header("Cache-Control: private"); // cachelje az oldalt a böngésző
    header("Content-Encoding: g-zip"); // gzip tömörítés

    // ha egyezik az md5 kivonat a cachelt változatéval,
    // akkor ne küldje el az eredményt hisz ugyanaz...
    if (trim($_SERVER['HTTP_IF_NONE_MATCH']) == $etag) {
    header("HTTP/1.1 304 Not Modified");
    } else {
    echo $body;
    }

    [ Szerkesztve ]

    A RIOS rendkívül felhasználóbarát, csak megválogatja a barátait.

Új hozzászólás Aktív témák