Windows.  Vírusy.  Prenosné počítače.  internet.  Kancelária.  Verejné služby.  Vodiči

Hlavička HTTP Last-Modified informuje klienta o čase posledná zmena stránka (objekt). Ak klient (prehliadač, vyhľadávací robot) prijal hlavičku Last-Modified, potom pri ďalšom prístupe k adrese, za predpokladu, že stránka (objekt) je v lokálnej vyrovnávacej pamäti, pridá otázku If-Modified-Since (či sa stránka zmenila od dátumu prijatia v Last-Modified). Na druhej strane, server po prijatí požiadavky If-Modified-Since musí skontrolovať prijatú časovú pečiatku s časom poslednej úpravy stránky a ak sa stránka nezmenila, odpovedať 304 Not Modified.

Šetrenie dopravy

Ak sa stránka nezmenila, server zastaví prenos údajov po odoslaní hlavičiek s kódom 304 Neupravené telo stránky, obrázky a iné objekty sa neprenesú.

Zníženie zaťaženia servera

Správna implementácia kontroly času poslednej úpravy stránky môže výrazne (až o 30% alebo viac) znížiť zaťaženie servera. Správna implementácia znamená kontrolu času pred vygenerovaním stránky na dynamickej stránke. V tomto prípade sa nevykonajú všetky akcie na generovanie stránky (dopytovanie obsahu z databázy, analýza šablón, prijímanie komentárov atď.). Platí to najmä pre stránky s vysokou návštevnosťou a dlhou návštevou používateľov. Príklad: používateľ je na stránke športových správ a neustále aktualizuje domovskej stránkečaká na zverejnenie výsledku zápasu. Za pár minút je možné o stránku požiadať a získať ju desiatky krát. Ak je odoslaná hlavička Last-Modified a požiadavka If-Modified-Since je spracovaná správne, stránka bude skutočne odoslaná raz a všetky nasledujúce požiadavky dostanú odpoveď 304 Not Modified.

Zrýchlite indexovanie vyhľadávacími nástrojmi

Vyhľadávače prostredníctvom svojich pokynov pre správcov webu odporúčajú odoslať hlavičku Last-Modified a správne spracovať If-Modified-Since.

Poznámka: Aktivuje sa adaptívna verzia stránky, ktorá sa automaticky prispôsobí malej veľkosti vášho prehliadača a skryje niektoré detaily stránky pre ľahšie čítanie. Príjemné sledovanie!

Dobrý deň, milí čitatelia blogu Pokračujeme v téme, jednom z najdôležitejších SEO faktorov. Tento článok sa bude dotýkať toho, čo možno nazvať zložitosťou optimalizácie na stránke, pretože budeme hovoriť o kóde odpovede, ktorý vyhľadávacie nástroje a návštevníci dostanú v reakcii na svoj prístup na stránku.

Správna odpoveď servera

Napriek tomu, že ide o pomerne malý detail pri budovaní a optimalizácii stránky ako celku, je veľmi dôležitý! Konkrétne je dôležité, aby stránka, na ktorej nenastali žiadne zmeny od poslednej návštevy robota alebo osoby, dávala kód 304, čo znamená, že stránka zostala nezmenená. Keď server odovzdá tento kód klientovi, vykonávanie všetkých PHP skriptov na stránke sa ani nezačne, stránka sa načíta z vyrovnávacej pamäte, čo výrazne znižuje zaťaženie servera a zrýchľuje načítanie stránky pre používateľa .

Takže nastavením správnych odpovedí z nášho servera zabijeme aspoň päť vtákov jednou ranou:

  • Návštevníkom (ľudom) zrýchlime načítavanie stránok.
  • Znižujeme zaťaženie servera.
  • IN výsledky vyhľadávania zobrazí sa dátum (presne pre Yandex). posledná aktualizácia stránka, ktorá môže upútať pozornosť používateľa, najmä ak je dátum nedávny.
  • Stránky stránok sa budú podieľať na triedení vyhľadávače podľa dátumu.
  • Výrazne zrýchlime indexovanie vašej stránky vyhľadávačmi!

Z nejakého dôvodu sa mi posledný bod zdá najsladší (keďže ovplyvňuje SEO a zvyšuje dôveryhodnosť vašej stránky medzi vyhľadávačmi), aj keď nepochybne sú mimoriadne dôležité aj ostatné body.

Ako nakonfigurovať odpovede servera 304 a 200?

Už sme povedali, že ako odpoveď na požiadavku na nezmenené stránky sa server musí vrátiť 304 Nezmenené a aký kód by mal server poskytnúť, ak klient pristupuje na stránku prvýkrát alebo pristupuje na zmenenú stránku? V takýchto prípadoch musí server uviesť stav 200 OK. Špeciálne tento kód Nie je potrebné posielať, ak je všetko v poriadku so stránkou, potom vždy dáva 200.

Preto sa musíme postarať iba o kód 304, pretože server ho bez nášho zásahu neodošle. K tomu nám pomôže nadpis Naposledy upravené a požiadať.

Nadpisy Naposledy upravené

Naposledy upravené je hlavička, s ktorou odosielame pomocou PHP, táto hlavička obsahuje presný čas poslednej úpravy stránky (v sekundách). Na tento účel sa používa všeobecne akceptovaná miera času: Unix Time Stamp.

Unixová časová pečiatka je počet sekúnd, ktoré uplynuli od začiatku éry Unixu: 1. januára 1970. V čase písania tejto vety sa časová pečiatka Unixu rovná 1370597447 sekundám – to je 06/07/2013 09:30:47 GMT (+00:00).

To znamená, že všetko, čo musíme urobiť, je poslať hlavičku PHP s pokynmi Naposledy upravené a požadovaný dátum:

Header("Last-Modified: ".gmdate("D, d M Y H:i:s", $last_modified_time)." GMT");

Kde hlavička je konštrukcia na odosielanie hlavičky HTTP, Naposledy upravené– čo posielame a hneď za dvojbodkou prichádza jeho hodnota:

Gmdate("D, d M Y H:i:s", $last_modified_time)." GMT".

Posledná modifikovaná hodnota je funkcia gmdate(), ktorá obsahuje premennú, ktorú som vymyslel $last_modified_time(môžete to nazvať ako chcete). Vo variabilnom $last_modified_time a obsahuje čas poslednej zmeny formátu Unixová časová pečiatka a funkciu gmdate() slúži nám na uvedenie dátumu do správnej formy (Greenwich Mean Time).

Pre názornosť uvádzame príklad: ak použijeme funkciu gmdate() dajme hodnotu 1365003142 , potom výstup bude: Streda, 3. apríla 2013 15:32:22.

Teraz, keď sme sa naučili, ako celý proces funguje, môže vzniknúť otázka: „Musíme manuálne zadať čas poslednej úpravy pre každú stránku?“ Odpoveď: "Áno!" Ja osobne presne toto robím - ručne, najviac spoľahlivá možnosť. Konkrétne pre tento blog som však zabezpečil všetko, napríklad ak nový komentár na stránke a potom do premennej $last_modified_timeČas pridania tohto komentára sa zaznamená, aby vyhľadávače mohli indexovať nové komentáre a vedeli, že stránka je „aktívna“. Každá stránka je individuálna a budete si musieť vymyslieť vlastný algoritmus na označenie dátumu poslednej úpravy stránky, alebo ho vždy zadať ručne.

Znova zdôrazním, môj algoritmus je nasledujúci:

1) Dátum vytvorenia materiálu uvádzam ručne, ak v článku niečo zmením (preklepy alebo doplnenia), tak opäť ručne zadávam nový čas poslednej aktualizácie.

2) Ak návštevník pridá komentár, tak v premennej $last_modified_time automaticky, bez môjho vedomia, sa zadá čas pridania komentára, pretože v skutočnosti to bude dátum poslednej úpravy stránky.

Čo som nezohľadnil: v pravom stĺpci stránky, ktorú mám najnovšie články, odporúčané A top 10. Menia sa neustále a súčasne pre všetky stránky. Ak by som zakaždým, keď som zmenil pravý stĺpec stránky, zmenil (automaticky alebo manuálne - na tom nezáleží) dátum poslednej zmeny stránky, potom by sa stratil celý význam tejto akcie. Rozhodol som sa, že tieto zmeny treba sledovať a brať do úvahy pri špecifikácii $last_modified_time nestojí za to, pretože nemajú žiadne výhody SEO.

Ako som už písal, nemôžem vám presne povedať, ako automatizovať dátum poslednej úpravy stránky, ale poviem vám, ako to NEROBIŤ!

Chyby pri zadávaní dátumu poslednej úpravy

Prvé, čo môže väčšine ľudí napadnúť, je poslať v hlavičke dátum poslednej úpravy súboru s obsahom stránky. Osobne mám texty článkov v súboroch a nie v databáze, takže sa mi tento spôsob môže zdať ako výborný spôsob, ako ho nemusím zakaždým zadávať Unixová časová pečiatka manuálne. Ale nie! Väčšina hostingových stránok a možno aj všetky berú dátum svojho vytvorenia ako dátum poslednej zmeny súboru, nezohľadňujú následné zmeny.

Myslím, že dôsledky v takýchto prípadoch sú vám jasné. Jeden populárny ukrajinský poskytovateľ hostingu (a myslím, že nie je jediný) vo svojich FAQ píše niečo ako: „Namiesto dátumu poslednej úpravy súboru použite funkciu čas(), ktorý sa vracia aktuálny čas vo formáte časovej pečiatky Unix." To je také absurdné! Proste sa na mieste zastrelí! A tento poskytovateľ hostingu je považovaný za „jedného z najlepších“, keď som si to prečítal, okamžite som sa chcel stať ich klientom.

Toto je len anti-SEO, pomyslite si sami, na vašu stránku príde vyhľadávač a vyzerá: „Wow! V poslednej dobe Boli tam len zmeny stránky, to som si tipol, kedy príde, skvelé!“ O pár dní neskôr prichádza na tú istú stránku: „Pozri, opäť sa to zmenilo, aká náhoda... Počkaj, prečo nevidím žiadne zmeny? Dobre, prídem inokedy." Prichádza znova: "No, nie, chlapci, toto už nie je vtipné, určite sa vám nedá veriť." Toto je taká rozprávka :)

A potom sa ľudia čudujú, prečo výsledky vo výsledkoch vyhľadávania nie sú také, aké by chceli, pretože vašej stránke chýba niečo triviálne dôverovať(dôvera). Presne ako v podobenstve „O pastierovi a vlkoch“.

Takže sme vyriešili hlavné chyby: nemôžete určiť aktuálny čas a neodporúčam špecifikovať čas úpravy súboru. Teraz sa poďme pozrieť na to, ako to celé funguje.

Nakonfigurujte odosielanie hlavičiek Naposledy upravené to je presne 1/3 práce, ešte musíme: dať odpoveď na požiadavku a povoliť ukladanie stránky do vyrovnávacej pamäte. Obe tieto akcie nezaberú veľa času a riadkov kódu.

je požiadavka klienta na váš server, v ktorej sa klient pýta: „zmenila sa stránka od mojej poslednej návštevy?“ Ak sa stránka nezmenila, musíme zastaviť ďalšie načítavanie stránky príkazom:

V tomto prípade by sa telo stránky nemalo začať kresliť, toto všetko sa deje PRED prvým výstupom čohokoľvek na stránku! Zároveň je potrebné vrátiť odpoveď servera klientovi 304 Nezmenené, čím sa hovorí, že stránku je potrebné prevziať z vyrovnávacej pamäte. Poďme rovno k veci:

If (isset($_SERVER["HTTP_IF_MODIFIED_SINCE"]) && strtotime($_SERVER["HTTP_IF_MODIFIED_SINCE"]) >= $last_modified_time)( header("HTTP/1.1 304 Not Modified"); die; ) header("Last-Mod : ".gmdate("D, d M Y H:i:s", $last_modified_time).");

V prvom riadku teda skontrolujeme, či požiadavka HTTP_IF_MODIFIED_SINCE dorazila na náš server a tiež okamžite skontrolujeme, koľko sekúnd v prichádzajúcom HTTP_IF_MODIFIED_SINCE je väčšie ako v $last_modified_time alebo nie? Ak je väčšia, potom dátum poslednej návštevy klienta je neskorší ako dátum poslednej zmeny stránky, odtiaľ vyvodíme čisto logický záver, že stránka sa nezmenila, čo znamená, že odpoveď servera pošleme v druhom riadku 304 Nezmenené a riadkom 3 zastavíme (zastavíme) vykonávanie všetkých skriptov na stránke. Inými slovami, prestaneme ho sťahovať.

Ak nám klient neposlal požiadavku HTTP_IF_MODIFIED_SINCE alebo jeho posledná návšteva bola skôr ako dátum poslednej úpravy stránky, potom (štandardne) pošleme kód 200 OK a v piatom riadku mu pošleme AKTUÁLNY dátum zmeny stránky, namiesto toho, ktorý mal.

Povedal som vám všetko, čo potrebujete o IF_MODIFIED_SINCE a o tom, ako kód funguje, okrem toho, čo robí funkcia strtotime():

Strtotime($_SERVER["HTTP_IF_MODIFIED_SINCE"])

Pozorný a dôvtipný čitateľ už mohol tušiť, že táto funkcia prevádza bežný dátum na unixovú časovú pečiatku, keďže v nej nastavujeme premennú $last_modified_time, a preto pre porovnanie musíme všetko uviesť do spoločného menovateľa spoločný systém merania.

A nakoniec, všetko, čo musíme urobiť, je povoliť ukladanie do vyrovnávacej pamäte, to sa vykonáva pomocou nasledujúcich riadkov:

Header("Cache-Control: public"); header("Platnosť vyprší: " . date("r", time()+10800));

Kde číslo 10800 je čas (v sekundách), počas ktorého chceme stránku uložiť do vyrovnávacej pamäte, teda v v tomto príklade na 3 hodiny.

A ako vždy, pre tých, ktorí ničomu nerozumejú, všetko zverejním v plnom znení, ako to robím na mojom blogu:

= $last_modified_time)( header("HTTP/1.1 304 Not Modified"); die; /* zabil všetko dole */) header("Last-Modified: ".gmdate("D, d M Y H:i:s", $last_modified_time)." GMT"); ?> A odišiel zvyšok stránky

Myslím, že ste si mohli všimnúť, že celý tento príbeh Last-Modified je analógom značky v -. Lastmod je teda len na informačné a poradenské účely a nikto nemôže argumentovať odpoveďami vášho servera. Prirodzene, nie je nezvyčajné, že sa lastmod v sitemape líši od hlavičky Last-Modified, ale odteraz by mali byť pre vás rovnaké! Veď čo za vedu sme teraz študovali, nie preto, aby sme boli ako nešťastní webmasteri, ktorí nepokročili ďalej ako sitemap.xml.

Osobne som v momentálne V mapách stránok vôbec nepoužívam značku lastmod, možno neskôr prehodnotím, čo robím, ale zatiaľ nevidím zmysel v tom, aby som bol taký pedantný, aby som mal tie správne hlavičky Naposledy upravené :)

A nakoniec skontrolujte správnosť Naposledy upravené a môžete použiť túto službu: kliknite na .

Ďakujem za pozornosť, špeciálne ďakujem stále rastúcemu počtu odberateľov, pre mňa je to najväčší podnet písať na blog častejšie. Takže, kto ešte nemá odoberané nové články, vitajte!

Hlavičky Last-Modified a If-Modified-Since pre WordPress

Len málo ľudí venuje pozornosť hlavičkám HTTP Naposledy upravené A If-Modified-Since pri optimalizácii vašej stránky, ale márne! Dôležité je, aby stránka, ktorej obsah sa od poslednej návštevy vyhľadávacieho robota nezmenil, vrátila kód 304, ktorý vlastne naznačuje, že táto konkrétna stránka nebola ničím doplnená - text ste neupravovali ani nedopĺňali , k tomuto príspevku neboli pridané žiadne komentáre atď. str.

Ak táto hlavička http chýba, potom v Yandex pri zoraďovaní výsledkov podľa dátumu nebude stránka viditeľná pre väčšinu používateľov.

Preto je dôležité, aby ste ho nielen správne nastavili, ale pri každej úprave záznamu aj aktualizovali dátum na aktuálny. Toto bude potrebné vykonať ručne.

S komentármi je to jednoduchšie: keď návštevník pridá komentár, potom v premennej $last_modified_time automaticky sa zadá čas pridania komentára – bude to dátum poslednej úpravy stránky.

Prečo potrebujeme hlavičky Last-Modified a If-Modified-Since?

1. Keď server odošle takýto kód, vykonávanie všetkých PHP skriptov na stránke sa ani nespustí. Stránka sa načítava z vyrovnávacej pamäte vyhľadávania, čo, ako viete, veľmi výrazne znižuje zaťaženie servera k veľkej radosti vášho hostiteľa a urýchľuje načítanie stránky pre návštevníka, čo je tiež dobrá správa.

Ako sa to stane?

Pri prehľadávaní internetu pavúky Google a Yandex ukladajú kópiu každej stránky do svojej databázy. Táto kópia slúži ako druh vzorky na porovnanie: je všetko stále rovnaké alebo došlo k zmenám. A ak hlavičky Last-Modified a If-Modified-Since nie sú nakonfigurované alebo sú nakonfigurované nesprávne, nové stránky na lokalite sa indexujú a hlavná stránka vo vyrovnávacej pamäti vyhľadávacieho nástroja sa dlho neaktualizuje, rovnako ako komentár informačný kanál nie je aktualizovaný.

Ale pre často aktualizované stránky ( spravodajské kanály, veľakrát denne aktualizované, aktívne komentované blogy a pod.) má to jednu nevýhodu: informácie vo vyrovnávacej pamäti príliš rýchlo zastarávajú a človek ani pri opätovnom načítaní stránky nevidí najnovšie správy, nevidí nové komentáre. Ale to nie je také zlé. Problém je v tom, že robot to tiež nevidí, pokiaľ nie je zahrnutá správna hlavička Last-Modified.

header("Last-Modified: ".gmdate("D, d M Y H:i:s ")."GMT");

Ak je vaša lokalita často aktualizovaná (napríklad vaše príspevky sú často komentované), môžete zakázať ukladanie do vyrovnávacej pamäte pomocou nasledujúcej sady hlavičiek:

header("Platnosť vyprší: ".gmdate("D, d M Y H:i:s", čas() + 7200)." GMT");

To znamená, že platnosť uloženej kópie sa musí pri každej žiadosti dvakrát skontrolovať.

Ako funguje ukladanie do vyrovnávacej pamäte v prehliadačoch?

Ak nie je zakázaná volaním funkcie no_cache, potom sa vo Firefoxe a IE stránka uloží do vyrovnávacej pamäte a pre všetky nasledujúce požiadavky sa vráti práve táto stránka.

Ak chcete obnoviť stránku a získať najnovšiu verziu, musíte stlačiť kombináciu klávesov Ctrl+F5, zvyčajné tlačidlo „Aktualizovať“ (F5) nefunguje. A musím povedať, že dokumenty vo vyrovnávacej pamäti IE môžu byť uložené veľmi, veľmi dlho.

V Opere sa stránka vyrovnávacej pamäte vymaže stlačením tlačidla „Obnoviť“ alebo klávesu F5. Kombinácia CRTL+F5 v Opere - reštartujte všetko otvorené karty Ako viete, ak ste ich veľa otvorili, počas čakania vám môžu narásť fúzy.

Ak zakážete ukladanie stránok do vyrovnávacej pamäte pomocou funkcie no_cache, Opera a Firefox pri prístupe na takúto stránku použijú mechanizmus s hlavičkou If-Modified-Since. Dochádza teda k ukladaniu do vyrovnávacej pamäte, ale prehliadač sa pýta servera, či sa stránka skutočne zmenila alebo nie - toto je správny spôsob, ako položiť otázku.

Preto musíte povoliť aj spracovanie tohto parametra. Nebudem popisovať, čo táto funkcia znamená, len dám kód, ktorý správne odosiela hlavičky a nespôsobuje konflikty na väčšine hostingových stránok, s ktorými som pracoval. Tento dizajn funguje ďalej sweb.ru, eomy.net, timeweb.ru, fastvps.ru, startlogic.com

header("Platnosť vyprší: ".gmdate("D, d M Y H:i:s", čas() + 7200)." GMT");
header("Cache-Control: no-cache, must-revalidate");
$mt = čas súboru($názov_súboru);
$mt_str = gmdate("D, d M Y H:i:s ")."GMT";
if (isset($_SERVER["HTTP_IF_MODIFIED_SINCE")] &&
strtotime($_SERVER["HTTP_IF_MODIFIED_SINCE"]) >= $ mt)
(hlavička("HTTP/1.1 304 neupravené");
zomrieť;
}
header("Last-Modified: ".$mt_str);
echo $text;
header("Vary: Accept-Encoding");
header("Accept-Encoding:gzip,deflate,sdch");
?>

Takže všetko, čo musíte urobiť, je skopírovať tento kód a pridať ho do súboru hlavička.php Vaša téma KONIEC . Tie. tento kód je úplne navrchu súboru PRED všetkým zvyškom kódu


Pozor! Pred pridaním čohokoľvek si tento súbor uložte do počítača, aby ste mohli obnoviť pôvodnú verziu, ak tá vaša takúto konfiguráciu hlavičky neumožňuje.

Výsledok skontrolujeme pomocou služby kontroly hlavičky Last-Modified a If-Modified-Since http://last-modified.com/ru/if-modified-since.html


  • Ak je výsledok pozitívny, utrieme si pot z čela a ideme piť čaj.
  • Ak je výsledok negatívny, rovnakú konštrukciu možno pridať do súboru index.php v koreňovom adresári vášho WordPress (stretol som sa s tým na hostingu timeweb.ru). Rovnako tak nad všetko ostatné v ňom. Nezabudnite na to pri aktualizácii - indexový súbor sa prepíše vo svojej štandardnej forme.

Voila! Správnym nastavením hlavičiek Last-Modified a If-Modified-Since sme získali množstvo bonusov:

  • Zvýšili sme rýchlosť načítania stránky, ktorá je dôležitá pre robota Google a príjemná pre ľudí.
  • Znížili sme zaťaženie servera, čo potešilo hostiteľa.
  • Vo výsledkoch vyhľadávania Yandex sa zobrazí dátum poslednej aktualizácie stránky, ktorý v niektorých prípadoch je pre ľudí veľmi dôležitá, a preto bude mať nepriamo pozitívny vplyv na faktory správania.
  • Stránky našej stránky budú zapojené do triedenia vyhľadávačov podľa dátumu - áno, áno, toto používajú pokročilí používatelia.
  • A ako dôsledok všetkých vyššie uvedených skutočností sa indexovanie našej stránky vyhľadávacími nástrojmi výrazne zrýchli.

Syntax

If-Modified-Since: , ::GMT

smernice

Jedna z možností „Po“, „Ut“, „Str“, „Štvrtok“, „Pia“, „So“ alebo „Ne“ (rozlišujú sa malé a veľké písmená). 2-miestne číslo dňa, napr. "04" alebo "23". Jeden z „január“, „február“, „mar“, „apríl“, „máj“, „jún“, „júl“, „aug.“, „september“, „október“, „november“, „december“ ( rozlišovať malé a veľké písmená). 4-miestne číslo roku, napr. „1990“ alebo „2016“. 2-miestne číslo hodiny, napr. "09" alebo "23". 2-miestne číslo minúty, napr. "04" alebo "59". 2-miestne druhé číslo, napr. "04" alebo "59".

Greenwichský stredný čas. Dátumy HTTP sú vždy vyjadrené v GMT, nikdy nie v miestnom čase.

Príklady

If-Modified-Since: St, 21 Okt 2015 07:28:00 GMT

Špecifikácie

Špecifikácia Názov
RFC 7232, časť 3.3: If-Modified-Since Hypertext Transfer Protocol (HTTP/1.1): Podmienené požiadavky

Kompatibilita prehliadača

Tabuľka kompatibility na tejto stránke je vygenerovaná zo štruktúrovaných údajov. Ak by ste chceli prispieť k údajom, pozrite si https://github.com/mdn/browser-compat-data a pošlite nám žiadosť o stiahnutie.

Aktualizujte údaje o kompatibilite na GitHub

DesktopMobil
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebové zobrazenie AndroidChrome pre AndroidFirefox pre AndroidOpera pre AndroidSafari na iOSInternet Samsung
If-Modified-SincePlná podpora prehliadača Chrome ÁnoPlná podpora Edge 12Plná podpora Firefoxu ÁnoIE Plná podpora ÁnoOpera Plná podpora ÁnoPlná podpora Safari ÁnoWebView Plná podpora Androidu ÁnoChrome Plná podpora Androidu ÁnoFirefox Plná podpora Androidu ÁnoOpera Android Plná podpora ÁnoSafari iOS Plná podpora ÁnoPlná podpora Samsung Internet Android Áno

Hlavička HTTP Last-Modified informuje klienta o čase poslednej úpravy stránky (objektu). Ak klient (prehliadač, vyhľadávací robot) dostal hlavičku Last-Modified, potom pri ďalšom prístupe k adrese, za predpokladu, že stránka (objekt) je v lokálnej vyrovnávacej pamäti, pridá otázku If-Modified-Since (či stránka sa zmenila od dátumu prijatia v Last-Modified). Na druhej strane, server po prijatí požiadavky If-Modified-Since musí skontrolovať prijatú časovú pečiatku s časom poslednej úpravy stránky a ak sa stránka nezmenila, odpovedať 304 Not Modified.

Šetrenie dopravy

Ak sa stránka nezmenila, server zastaví prenos údajov po odoslaní hlavičiek s kódom 304 Neupravené telo stránky, obrázky a iné objekty sa neprenesú.

Zníženie zaťaženia servera

Správna implementácia kontroly času poslednej úpravy stránky môže výrazne (až o 30% alebo viac) znížiť zaťaženie servera. Správna implementácia znamená kontrolu času pred vygenerovaním stránky na dynamickej stránke. V tomto prípade sa nevykonajú všetky akcie na generovanie stránky (dopytovanie obsahu z databázy, analýza šablón, prijímanie komentárov atď.). Platí to najmä pre stránky s vysokou návštevnosťou a dlhou návštevou používateľov. Príklad: Používateľ je na stránke športových správ a neustále obnovuje domovskú stránku v očakávaní zverejnenia výsledku zápasu. Za pár minút je možné o stránku požiadať a získať ju desiatky krát. Ak je odoslaná hlavička Last-Modified a požiadavka If-Modified-Since je spracovaná správne, stránka bude skutočne odoslaná raz a všetky nasledujúce požiadavky dostanú odpoveď 304 Not Modified.

Zrýchlite indexovanie vyhľadávacími nástrojmi

Vyhľadávače prostredníctvom svojich pokynov pre správcov webu odporúčajú odoslať hlavičku Last-Modified a správne spracovať If-Modified-Since.

Uistite sa, že váš webový server podporuje hlavičku HTTP If-Modified-Since. Táto hlavička umožní webovému serveru informovať Google, či sa obsah stránky od posledného indexového prehľadávania zmenil. Podpora tejto funkcie zníži záťaž priepustnosť a náklady.

Google: Pokyny pre správcov webu

Uistite sa, že hlavičky HTTP sú správne. Dôležitý je najmä obsah odpovede, ktorú server dáva na požiadavku If-Modified-Since. Hlavička Last-Modified musí uvádzať správny dátum poslednej úpravy dokumentu. Aj keď server nezobrazí dátum poslednej úpravy dokumentu (Last-Modified), vaša stránka bude indexovaná. V tomto prípade je však potrebné vziať do úvahy nasledovné:

  • výsledky vyhľadávania nebudú zobrazovať dátum vedľa stránok vašej lokality;
  • pri triedení podľa dátumu nebude stránka viditeľná pre väčšinu používateľov;
  • robot nebude môcť získať informácie o tom, či bola stránka od posledného indexovania aktualizovaná. A keďže počet stránok, ktoré robot získa zo stránky pri jednej návšteve, je obmedzený, zmenené stránky budú reindexované menej často.


Ak si všimnete chybu, vyberte časť textu a stlačte Ctrl+Enter
ZDIEĽAŤ: