Bevezetés a HTTP gyorsítótárba

Biztos vagyok benne, hogy észrevette, hogy amikor először nyit meg egy weboldalt, akkor egy kis időbe telik a betöltés. Ha azonban egy idő után újra kinyitja, a webhely sokkal gyorsabban rakódik le. Képzelje el, ha egy webhely minden alkalommal ugyanolyan időbe telik a betöltéshez, milyen lassú lesz a böngészés. Nos, mindez egy remek ötletnek köszönhető, amelyet a HTTP gyorsítótárazásnak hívnak. Vessen egy pillantást arra, hogy mi ez, hogyan működik, és hogyan használják fel az Internet böngészés gyorsabb élményének biztosításához.

Mi a HTTP gyorsítótárazás?

A HTTP gyorsítótárazás az a gondolat, hogy néhány általánosan vagy gyakran használt adatot gyorsan elérni tudjon. Ezzel nagyon jó esély van arra, hogy a leginkább szükséges adatokhoz sokkal gyorsabban férjen hozzá, mivel a számítógépnek nem kell túl messzire mennie ahhoz, hogy megkapja.

Internetes böngészés esetén a gyorsítótárazást akkor veszik figyelembe, ha olyan böngészője, mint például a Chrome egy weboldal vagy webes alkalmazás másolatát tárolja a helyi tárolón. Miután a webhely gyorsítótárazott, a böngészőnek nem kell újra feltöltenie az összes adatot a szerverről, és ez sokkal gyorsabb böngészést tesz lehetővé.

Például, ha letölt egy weboldal CSS-fájlját, a böngészőnek nem kell letöltenie azt a munkamenet minden oldalára. Ugyanez mondható el sok JavaScript-fájl, a Képek (például a webhely logója és a közösségi média ikonjai) és akár néhány dinamikus tartalom esetében is. A gyorsítótárazás a Cache fejlécek használatával engedélyezhető.

Gyorsítótár-fejlécek HTTP-ben

A HTTP gyorsítótárazásnak két fő gyorsítótár-fejléce van, az első „Cache-Control”, a második „Expire”. Vessünk egy pillantást mindkettőre:

Cache-Control

A Cache-Control kapcsolóként tekintheti a gyorsítótárazás bekapcsolását a felhasználói böngészőben. Miután hozzáadta ezt a fejlécet, lehetővé teszi az összes támogatott webböngésző gyorsítótárazását. Ha ez a fejléc nincs, egyetlen böngésző sem tárolja a weboldal tartalmának gyorsítótárát, még akkor sem, ha támogatja a gyorsítótárazást.

A Cache-control kétféle típusú adatvédelmi beállítást tartalmaz: az első nyilvános, a második pedig privát.

Nyilvános esetén az erőforrások bármilyen közbenső proxyval, például tartalomszolgáltatási hálózatokkal (CDN) gyorsítótárazhatók.

A Cache-Control fejléc magánjellegű válaszával jelzi a böngészőnek, hogy a gyorsítótárazás csak egyetlen felhasználó számára történik, és nem a közbenső proxy számára.

A Cache-Control fejlécben a „maximális életkor” érték adja meg azt az időtartamot, ameddig a tartalom gyorsítótár lesz. Ez az idő másodpercben van megadva.

Cache-Control:public, max-age=31536000

Lejár

A Lejárat fejlécet akkor használja, amikor a Cache-Control jelen van a kódban. Ez egy egyszerű HTTP Cache fejléc, amely megadja azt a dátumot, amelytől kezdve a gyorsítótár erőforrásait érvénytelennek tekintik. Amint a gyorsítótár lejár és a felhasználó betölti a weboldalt, egy webböngésző egyszerűen csak az oldal összes tartalmát kéri.

Feltételes kérelmek

A fent tárgyalt fejlécek egyszerűen megmondják a böngészőnek, mikor kell letölteni az adatokat a web-szerverről. A feltételes kérések viszont megmutatják a böngészőnek, hogyan kell letölteni. A Feltételes kérések megmutatják a böngészőnek, hogyan kérdezheti meg a kiszolgálót, ha a gyorsítótárban lévő adatok másolatai elavultak.

Ebben a folyamatban a böngésző adatokat küld a memóriába tárolt erőforrásokról, és az adatok elolvasása után a szerver dönt arról, hogy az adatok elavultak-e vagy sem.

Idő alapú kérelmek

Időalapú kéréseknél ellenőrzik, hogy a kért erőforrás megváltozott-e a szerveren, vagy sem. Ha a böngésző gyorsítótárazott példánya a legfrissebb, akkor a szerver 304 kódot ad vissza.

A Feltételes kérelem időbeli beállításához használhatja a válasz fejlécében az „Utoljára módosított” elemet.

Cache-Control:public, max-age=25998579
Last-Modified: Fri, 08 Jul 2018 15:25:00 GMT

Content Based

A tartalmalapú kéréseknél az MD5 Hash (vagy bármely más megvalósítható lehetőség) ellenőrzése megtörtént mind a kiszolgáló, mind a gyorsítótár másolata szempontjából. Ez azt jelzi, hogy az adatok azonosak-e vagy sem, ha az adatok különböznek, az MD5 ellenőrző összeg nem egyezik meg, és a szerver új forrást küld az erőforrásokról.

Ezt a fejlécben az „ETag” segítségével hajtják végre. Ennek értéke az erőforrások kivonása.

Cache-Control:public, max-age=25998579
ETag: "496d7131f15f0fff99ed5aae”

Láthatóság

Szinte minden modern böngésző tartalmaz néhány fejlesztéssel kapcsolatos eszközt, amelyek lehetővé teszik az erőforrások, a forráskód és a weboldal egyéb szempontjainak ellenőrzését. Ezek között olyan eszköz található, amelyben láthatja az alkalmazás által visszaadott fejléceket.

A Google Chrome-ban ezeknek a fejléceknek a megtekintéséhez kattintson a jobb egérgombbal a weboldal bármely üres területére, majd kattintson az „Ellenőrzés” elemre, vagy nyomja meg a CTRL + SHIFT + I billentyűket a DevTools megnyitásához. Ebben az eszközben kattintson a Hálózat fülre, és nyomja meg a CRTL + R gombot az újratöltéshez, hogy az oldal összes fejléce megjelenjen.

Használjon eseteket a HTTP gyorsítótárban

Az alábbiakban bemutatunk néhány HTTP-gyorsítótárazási felhasználási példát, amelyek a következők:

Statikus eszközökhöz

Egy oldal statikus eszközei, például képek, JS fájlok és bármilyen CSS fájl esetén választhatja az agresszív gyorsítótárazást a tartalomról. Ha nem kell betöltenie ezeket a fájlokat, akkor figyelemre méltó teljesítményjavulást eredményez. Ebben az esetben keresse meg a gyorsítótár-vezérlő fejlécet, amelynek maximális életkor értéke havonta vagy akár egy évnél is nagyobb.

Cache-Control:public; max-age=31536000

Dinamikus tartalomhoz

Egy oldal dinamikus tartalma esetén el kell gondolkodnia, hogy milyen fájlokat kell tárolnia a böngésző gyorsítótárában és mennyi ideig. Abban az esetben, ha a tartalmat gyakran módosítják, akkor ellenőriznie kell, hogy a gyorsítótárazásra kiválasztott idő nem okoz problémát a felhasználó számára.

Privát tartalmak gyorsítótárazása

Amint azt a Cache-Control szakaszban tárgyaltuk, abban az esetben, ha az oldal tartalma magán jellegű, megakadályozhatja, hogy az ideiglenes proxyk, például CDN-k gyorsítótárba kerüljen, ha a fejlécbe hozzáadja a „Cache-Control: private”.

Egy másik biztonságosabb megközelítés az, ha egyáltalán nem tárol privát tartalmat.

HTTP gyorsítótárazás megvalósítása

Most, hogy tudja, mi a HTTP gyorsítótárazás és hogyan működik, nézzük meg, hogyan tudjuk azt a webhelyén megvalósítani. A HTTP gyorsítótárazás megvalósítása kissé különbözik a kiszolgálótípusoktól. Esetünkben nézzük meg a gyorsítótár végrehajtását a .htaccess fájlon keresztül.

A gyorsítótárazás engedélyezéséhez a fejléceket hozzáadhatja a szerver .htaccess fájljába, például:

FilesMatch "\.(ico|pdf|flv|jpg.webp|jpeg.webp|png|gif|js|css|swf)$"
Header set Cache-Control "max-age=31536000, public"
/FilesMatch

A fenti adatok egy évre gyorsítótárba kerülnek a pdf, flv, jpg.webp fájlokba és más, a „File Match” -ben említett formátumokba.

Következtetés

A HTTP gyorsítótárazás az egyik legfontosabb trükk, amely gyorsabb élményt nyújt a webhelye böngészésében a látogatók számára, és mivel most már láthatja, hogyan működik, telepítheti webhelyeire és webes alkalmazásaira, hogy gyorsabbá tegye a felhasználókat és a szerver sávszélességének megtakarításához.

Ajánlott cikkek

Ez egy útmutató a HTTP gyorsítótárazáshoz. Itt tárgyalták a HTTP végrehajtását, a Feltételes kérelmeket, a gyorsítótár fejlécét és a Felhasználási eseteket. A további javasolt cikkeken keresztül további információkat is megtudhat -

  1. Tudja meg, mi a HTML
  2. Hogyan telepítsük a Github-ot?
  3. Mi a MapReduce a Hadoopban?
  4. Kezdő útmutató a csomópontparancsokhoz
  5. HTTP sütik | Biztonság

Kategória: