Sissejuhatus HTTP vahemällu

Olen kindel, et olete märganud, et veebisaidi esmakordsel avamisel võtab laadimine veidi aega. Kui mõne aja pärast selle uuesti avate, laadib sait siiski palju kiiremini. Kujutage ette, kui mõne saidi laadimine võtab iga kord sama aja, siis tunneks see aeglast sirvimist. Noh, see kõik on tänu vahvale ideele nimega HTTP vahemälu. Vaatame üle, mis see on, kuidas see töötab ja kuidas seda kasutatakse Interneti-sirvimise kiiremaks kasutamiseks.

Mis on HTTP vahemälu?

HTTP-vahemälu on idee salvestada mõnda üldkasutatavat või sageli kasutatavat teavet kiirele juurdepääsuga kohta. Sellega on väga hea võimalus, et enamikule vajaminevatele andmetele pääseb juurde palju kiiremini, kuna arvuti ei pea selle saamiseks liiga kaugele jõudma.

Veebi sirvimise korral võetakse vahemällu salvestamine arvesse siis, kui teie veebibrauser, näiteks Chrome, salvestab veebisaidi või veebirakenduse koopia kohalikule salvestusruumile. Kui veebisait on vahemällu salvestatud, ei pea veebibrauser kõiki andmeid serverist uuesti laadima ja see muudab sirvimise palju kiiremaks.

Näiteks kui veebisaidi CSS-fail on alla laaditud, ei pea brauser seda iga seansi lehe jaoks alla laadima. Sama võib öelda paljude JavaScripti failide, piltide (nt saidi logo ja sotsiaalmeedia ikoonid) ja isegi mõne dünaamilise sisu kohta. Puhverdamine on lubatud vahemälu päiste abil.

Vahemälu päised HTTP-s

HTTP vahemällu salvestamisel on kaks peamist vahemälu päist, esimest nimetatakse “Cache-Control” ja teist “Expire”. Vaatame mõlemat:

Vahemälu juhtimine

Vahemälu sisselülitamiseks kasutaja brauseris võite vahemälu juhtimist vahetada. Kui see päis on lisatud, võimaldab see kõigi toetatud veebibrauserite vahemällu salvestamist. Kui seda päist pole, ei hoia ükski brauser veebilehe sisu vahemälu, isegi kui see toetab vahemällu salvestamist.

Cache-controlil on kahte tüüpi privaatsusseadeid: esimene on avalik ja teine ​​privaatne.

Avaliku teabe korral saab ressursse vahemällu salvestada mis tahes vahepealsete puhverserverite, näiteks sisu edastamise võrkude (CDN) abil.

Cache-Controli päis koos privaatse vastusega teatab brauserile, et vahemällu salvestamine toimub ainult ühe kasutaja jaoks, mitte ühegi puhverserveri jaoks.

Cache-Controli päises olev väärtus “max-age” määrab aja, mille jooksul sisu vahemällu salvestatakse. See aeg on sekundites.

Cache-Control:public, max-age=31536000

Aegub

Päise Expires kasutatakse siis, kui koodis on vahemäluhaldus. See on lihtne HTTP vahemälu päis, mis määrab kuupäeva, millest alates vahemälu ressursse loetakse kehtetuks. Kui vahemälu on aegunud ja kasutaja laadib veebisaidi, taotleb veebibrauser lihtsalt kogu lehe sisu uuesti.

Tingimuslikud taotlused

Ülaltoodud päised annavad brauserile lihtsalt teada, millal andmeid veebiserverist alla laadida. Tingimuslikud taotlused seevastu ütlevad brauserile, kuidas seda hankida. Tingimuslikud taotlused annavad brauserile teada, kuidas ta saab serverilt küsida, kas vahemälus olevate andmete koopia on aegunud.

Selle protsessi käigus saadab brauser oma mällu vahemällu salvestatud ressursside kohta mõned andmed ja pärast nende andmete lugemist otsustab server, kas andmed on aegunud või mitte.

Ajapõhised taotlused

Ajapõhistes taotlustes kontrollitakse, kas taotletud ressurssi serveris muudeti või mitte. Kui brauseri vahemällu salvestatud koopia on viimane, saadab server koodi 304.

Tingimustetaotluse seadistamiseks ajaliselt saate vastuse päises kasutada viimati muudetud versiooni.

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

Sisupõhine

Sisupõhistes taotlustes kontrollitakse MD5 räsi (või mõnda muud toimivat võimalust) nii serveri- kui ka vahemälukoopiate osas. See näitab, kas andmed on samad või mitte, juhul kui andmed on erinevad, siis MD5 kontrollsumma ei vasta ja server saadab ressursside värske koopia.

Seda tehakse päises oleva “ETag” kaudu. Selle väärtus on ressursside kokkuvõte.

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

Nähtavus

Peaaegu kõik kaasaegsed brauserid sisaldavad mõnda arendamisega seotud tööriista, mis võimaldavad teil kontrollida veebilehe ressursse, lähtekoodi ja muid aspekte. Nende hulgast leiate tööriista mis tahes rakenduse tagastatud päiste nägemiseks.

Nende päiste nägemiseks võite Google Chrome'is hiire parema nupuga klõpsata mis tahes veebilehe tühjal alal ja klõpsata nupul „Kontrolli” või DevToolsi avamiseks vajutada CTRL + SHIFT + I. Selles tööriistas klõpsake vahekaarti Võrk ja vajutage uuesti laadimiseks CRTL + R, et näha kõiki lehe päiseid.

Kasutage juhtnööre HTTP-vahemällu

Allpool on toodud mõned HTTP vahemälu kasutamise juhtumid, mis on järgmised:

Staatiliste varade jaoks

Lehe staatiliste varade, näiteks piltide, JS-failide ja mis tahes CSS-failide puhul saate sisu agressiivselt vahemällu salvestada. Nende failide laadimata jätmine parandab jõudlust märkimisväärselt. Selle juhtumi jaoks otsige vahemälu juhtimise päist, mille maksimaalne vanuseväärtus on üle kuu või isegi aasta.

Cache-Control:public; max-age=31536000

Dünaamilise sisu jaoks

Lehe dünaamilise sisu korral peate ise mõtlema, millised failid peaksid brauseri vahemälu olema ja kui kaua. Juhul, kui sisu muudetakse sageli, peate veenduma, et vahemällu valimine ei põhjusta kasutajale probleeme.

Privaatse sisu vahemällu salvestamine

Nagu peatükis Cache-Control arutasime, saate lehe sisu privaatsuse korral takistada vahemälu puhverserverite, näiteks CDN-ide vahemällu salvestamist, lisades päisesse „Cache-Control: private”.

Teine turvalisem lähenemisviis on mitte privaatse sisu vahemällu mitte salvestamine.

HTTP-vahemälu rakendamine

Nüüd, kui teate, mis on HTTP-vahemälu ja kuidas see töötab, vaatame, kuidas saate seda oma veebisaidil rakendada. HTTP-vahemälu rakendamine on erinevat tüüpi serverite jaoks pisut erinev. Vaatame meie puhul vahemällu rakendamist .htaccess-faili kaudu.

Kohaliku vahemälu lubamiseks võite lisada päised oma serveri .htaccess-faili:

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

Ülaltoodud vahemällu salvestatakse kõik failide, pdf, flv, jpg.webp ja muude mainitud vormingute jaoks, mida on „File Match” -is mainitud ühe aasta jooksul.

Järeldus

HTTP-vahemälu on üks olulisemaid nippe, mis muudavad teie saidi sirvimise külastajatele kiiremaks ja nüüd, kui näete, kuidas see töötab, saate selle oma saitidel ja veebirakendustes rakendada, et muuta need teie kasutajate jaoks kiiremaks ja serveri ribalaiuse säästmiseks.

Soovitatavad artiklid

See on olnud juhend HTTP vahemällu salvestamiseks. Siin arutasime HTTP rakendamist, tingimuslikke taotlusi, vahemälu päist ja kasutuse juhtumeid. Lisateavet leiate ka meie muudest soovitatud artiklitest -

  1. Lugege, mis on HTML
  2. Kuidas installida Github?
  3. Mis on MapReduce Hadoopis?
  4. Sõlmekäskude algajad
  5. HTTP küpsised | Turvalisus

Kategooria: