Увод у ХТТП кеширање

Сигуран сам да сте приметили да када први пут отворите веб локацију, потребно је мало времена да се учита. Међутим, када га након неког времена поново отворите, сајт се много брже затвара. Замислите да ли је неком сајту требало сваки пут да се учита, како ће се осећати споро прегледавање. Па, све је то захваљујући сјајној идеји названој ХТТП Цацхинг. Погледајмо шта је то, како функционише и како се користи да Интернет прегледавање брже доживи.

Шта је ХТТП кеширање?

ХТТП кеширање је идеја да се похране неки најчешће или често коришћени подаци на неком месту којему је брз приступ. С тим у вези, постоји врло велика шанса да се најпотребнијим подацима приступи много брже, јер рачунар не мора превише да посегне за добијањем података.

У случају претраживања веба, кеширање се сматра када ваш веб прегледач, као што је Цхроме, складишти копију веб локације или веб апликације у локалну меморију. Једном када се веб локација сачува у меморији, веб прегледач неће морати да поново учита све податке са сервера и то ће брже прегледавање прегледати.

На пример, једном када се преузме ЦСС датотека веб локације, прегледач не мора да је преузме за сваку страницу сесије. Исто се може рећи за многе ЈаваСцрипт датотеке, слике (као што су Лого веб локације и иконе друштвених медија), па чак и неки динамички садржај. Кеширање је омогућено помоћу заглавља предмеморије.

Заглавља предмеморије у ХТТП-у

ХТТП кеширање има два главна заглавља за кеширање, прво се назива „Цацхе-Цонтрол“, а друго се зове „Екпире“. Погледајмо оба:

Цацхе-Цонтрол

Цацхе-Цонтрол можете сматрати прекидачем за укључивање кеширања у корисничком прегледачу. Након што се дода ово заглавље, оно омогућава кеширање за све подржане веб прегледаче. Ако ово заглавље не постоји, ниједан прегледник неће задржати кеш садржаја веб странице, чак и ако подржава кеширање.

Цацхе-контрола има две врсте поставки приватности, прво је јавно, а друго приватно.

У случају Публиц-а, ресурси могу бити кеширани било којим посредним проки-ом, као што су мреже за доставу садржаја (ЦДН).

Заглавље Цацхе-Цонтрол са приватним одговором ће рећи прегледачу да ће се кеширање обављати само за једног корисника, а не за било који посредни проки.

Вриједност „мак-аге“ у заглављу Цацхе-Цонтрол поставља вријеме за које ће садржај бити кеширан. Ово време је у секунди.

Cache-Control:public, max-age=31536000

Истиче

Заглавље Екпирес се користи када је у коду присутна Цацхе-Цонтрол. Ово је једноставно заглавље ХТТП Кеша које поставља датум од којег се било који ресурс кеш меморије сматра неважећим. Након што истекне предмеморија и корисник учита веб локацију, веб претраживач ће једноставно још једном затражити сав садржај странице.

Условни захтеви

Горе заглављене заглавља једноставно поручују прегледачу када треба да преузме податке са веб сервера. С друге стране, условни захтеви упућују прегледач како да га преузме. Условни захтеви кажу прегледачу како може да пита сервера да ли је копија података у кешу застарела.

У овом процесу, прегледач шаље неке податке о ресурсима које је спремио у меморију и након читања ових података сервер одлучује да ли су подаци застарели или не.

Временски засновани захтеви

У временски заснованим захтевима проверава се да ли је тражени ресурс промењен на серверу или не. Ако је кеширана копија у прегледачу најновија, сервер ће вратити код 304.

Да бисте на време поставили условни захтев, у заглављу одговора можете да користите „Последње измене“.

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

Садржајно

У захтевима заснованим на садржају МД5 Хасх (или било која друга одржива опција) проверава се и за копирање и за кеш копију сервера. Ово говори да ли су подаци исти или не, у случају да су подаци другачији, контролни зброј МД5 неће се подударати и сервер ће послати нову копију ресурса.

Ово се врши преко „ЕТаг“ у заглављу. Вредност њега је пробава ресурса.

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

Видљивост

Готово сви модерни прегледачи укључују неке алате повезане са развојем који вам омогућавају да проверите ресурсе, изворни код и друге аспекте веб странице. Међу њима можете пронаћи алат да видите заглавље које враћа свака апликација.

На Гоогле Цхроме-у, да бисте видели ове заглавља, можете да кликнете десним тастером миша на било који празан део веб странице и кликнете на „Инспецт“ или притисните ЦТРЛ + СХИФТ + И да отворите ДевТоолс. У овом алату кликните на картицу Мрежа и притисните ЦРТЛ + Р да бисте поново учитали да бисте видели сва заглавља странице.

Користите случајеве у ХТТП кеширању

Испод је неколико случајева употребе ХТТП кеширања који су следећи:

За статичку имовину

За статичка средства странице као што су слике, датотеке ЈС и било које ЦСС датотеке, можете се одлучити за агресивно кеширање садржаја. Ако не морате учитати ове датотеке, то ће довести до импресивног побољшања перформанси. У овом случају, потражите заглавље за управљање предмеморијом чија је вредност макс. Старости већа од месец дана или чак годину дана.

Cache-Control:public; max-age=31536000

За динамичке садржаје

У случају динамичног садржаја странице, мораћете сами да размислите које датотеке би требало да се кеширају у претраживачу и колико дуго. У случају да се садржај често мења, морат ћете бити сигурни да временско трајање које одаберете за кеширање неће узроковати кориснику никакав проблем.

Кеширање приватног садржаја

Као што смо расправљали у одељку Цацхе-Цонтрол, у случају да је садржај странице приватне природе, можете спречити да је меморирају посредни проксији попут ЦДН-а тако што ћете у заглавље додати „Цацхе-Цонтрол: привате“.

Још један сигурнији приступ је да се уопште не кешира ниједан приватни садржај.

Имплементација ХТТП кеширања

Сада када знате шта је ХТТП кеширање и како функционише, погледајмо како то можете имплементирати на својој веб локацији. Имплементација ХТТП кеширања је мало другачија за различите типове сервера. У нашем случају, погледајмо имплементацију кеширања путем .хтаццесс датотеке.

Да бисте омогућили предмеморирање на месту, можете на пример додати главе у датотеку .хтаццесс на вашем серверу:

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

Наведено ће кеширати све у, пдф, флв, јпг и остале поменуте формате споменуте у „Филе Матцх“ у току једне године.

Закључак

ХТТП кеширање је један од најважнијих трикова који претражују вашу веб страницу брже искуство за посетиоце, а сада када се види како она функционише, можете је имплементирати на своје веб локације и веб апликације како бисте их учинили бржим за своје кориснике и за уштеду пропусности вашег сервера.

Препоручени чланци

Ово је водич за ХТТП кеширање. Овде смо разговарали о имплементацији, условним захтевима, заглављу предмеморије и случајевима коришћења ХТТП-а. Можете и да прођете кроз друге наше предложене чланке да бисте сазнали више -

  1. Сазнајте шта је ХТМЛ
  2. Како инсталирати Гитхуб?
  3. Шта је МапРедуце у Хадоопу?
  4. Водич за почетнике за команде чворова
  5. ХТТП колачићи | Сигурност

Категорија: