Kas yra 304 nepakeistas atsakymas?
HTTP serverio atsakymo kodas 304 Not Modified (nepakeistas) rodo, kad prašomas išteklius nebuvo pakeistas nuo paskutinio jo įkėlimo, todėl jo nereikia perduoti dar kartą. Naršyklėms tai reiškia, kad naudotojui gali būti rodoma spartinančioji ištekliaus versija. Naršyklėms, pavyzdžiui, "Googlebot", tai reiškia, kad puslapio nereikia iš naujo perkelti, nes jame niekas nepasikeitė.
Kaip tai veikia
Čia pateikiamas paprastas paaiškinimas, kaip veikia 304 Not Modified atsakas:
-
Pradinė užklausa Kai klientas (naršyklė arba naršyklė) pirmą kartą užklausia išteklių iš žiniatinklio serverio, serveris išsiunčia prašomą išteklių su HTTP kodu 200 OK ir jo hash kodu, vadinamu ETag. Klientas taip pat įrašo laiką, kada jis paprašė puslapio / ištekliaus.
-
Vėlesnės užklausos Kai klientas vėl prašo ištekliaus, serveris patikrina kliento antraštes
If-None-Match
ir (arba)If-Modified-Since
. Tai vadinama sąlygine HTTP užklausa.If-None-Match
yra ETag (turinio hash kodas). Jei jis sutampa su serverio verte, tai reiškia, kad turinys nepasikeitė ir jo nereikia įkelti iš naujo (kai turinys pasikeičia, pasikeičia ir jo hash kodas).If-Modified-Since
yra data ir laikas, kada klientas paskutinį kartą paprašė turinio. Jei serveris mato, kad nuo šios datos turinys nepasikeitė, išteklių klientui siųsti nereikia.
-
Serverio atsakymas Abiem atvejais, jei turinys nepasikeitė, serveris atsako 304 HTTP kodu.
Kai naudojamos ir If-None-Match
, ir If-Modified-Since
, If-None-Match
turi pirmenybę prieš If-Modified-Since
.
Naršyklės ir naršyklės elgesys
Kai naršyklė iš serverio gauna HTTP kodą 304 Not Modified, ji naudotojui parodo talpyklos versiją, todėl tai yra vienas iš kliento pusės nukreipimo kodų. Naršyklėms, gavusios 304 atsakymą, reiškia, kad jos gali išvengti pakartotinio to paties turinio atsisiuntimo, taip taupydamos duomenų srauto pralaidumą ir išteklius.
Kodėl svarbus 304 atsakymo kodas?
Mažoms svetainėms 304 HTTP kodo teikiama spartinančiosios atmintinės nauda gali būti ne tokia reikšminga. Tačiau didelėms interneto svetainėms 304 atsakymo kodas suteikia nemažai privalumų:
- Našumo optimizavimas Naudodamos talpyklos turinį, naršyklės gali greičiau įkelti puslapius naudotojams, todėl pagerėja bendra naudotojų patirtis.
- Naršymo biudžeto valdymas Didelėms svetainėms labai svarbu valdyti naršymo biudžetą. "Google" naršyklė pakartotinai neaprašo puslapių, kurie nepasikeitė, todėl ji gali sutelkti dėmesį į naują ir atnaujintą turinį. Tai padeda užtikrinti, kad šviežias turinys būtų indeksuojamas efektyviau.
Geriausia naudojimo praktika 304 Nepakeista
- Nustatykite tinkamas talpyklos antraštes Įsitikinkite, kad jūsų serveris sukonfigūruotas siųsti tinkamas
ETag
irLast-Modified
antraštes. - Stebėkite spartinančiosios atmintinės efektyvumą Reguliariai tikrinkite serverio žurnalus, kad pamatytumėte, kaip dažnai siunčiami 304 atsakymai, ir prireikus koreguokite spartinančiosios atmintinės politiką.
- Turinio pristatymo optimizavimas Naudokite turinio pristatymo tinklus (CDN), kurie palaiko efektyvius spartinančiosios talpyklos mechanizmus, kad sumažintumėte vėlavimą ir pagerintumėte įkėlimo laiką.
Išsamesnės informacijos apie HTTP būsenos kodus ir geriausią žiniatinklio našumo ir SEO praktiką rasite autoritetinguose šaltiniuose, pavyzdžiui, " Mozilla Developer Network" (MDN) ir "Google Web Fundamentals".