Mikä on 304 Not Modified -vaste?
HTTP-palvelimen vastauskoodi 304 Not Modified osoittaa, että pyydettyä resurssia ei ole muutettu sen jälkeen, kun se viimeksi ladattiin, eli sitä ei tarvitse siirtää uudelleen. Selaimille tämä tarkoittaa, että resurssin välimuistissa oleva versio voidaan näyttää käyttäjälle. Mönkijöille, kuten Googlebotille, se tarkoittaa, että sivua ei tarvitse tutkia uudelleen, koska siinä ei ole tapahtunut muutoksia.
Miten se toimii
Tässä on yksinkertainen selitys siitä, miten vastaus 304 Not Modified toimii:
-
Alkuperäinen pyyntö Kun asiakas (selain tai indeksoiva ohjelma) pyytää resurssia verkkopalvelimelta ensimmäisen kerran, palvelin lähettää pyydetyn resurssin HTTP-koodilla 200 OK sekä sen hash-koodin, jota kutsutaan ETagiksi. Asiakas tallentaa myös ajan, jolloin se pyysi sivua/resurssia.
-
Seuraavat pyynnöt Kun asiakas pyytää resurssia uudelleen, palvelin tarkistaa
If-None-Match-
ja/taiIf-Modified-Since-otsikot
asiakkaalta. Tätä kutsutaan ehdolliseksi HTTP-pyynnöksi.If-None-Match
sisältää ETag-koodin (sisällön hash-koodi). Jos se vastaa palvelimella olevaa arvoa, tämä osoittaa, että sisältö ei ole muuttunut, eikä sitä tarvitse ladata uudelleen (kun sisältö muuttuu, muuttuu myös sen hash-koodi).If-Modified-Since
sisältää päivämäärän ja kellonajan, jolloin asiakas on viimeksi pyytänyt sisältöä. Jos palvelin näkee, että sisältö ei ole muuttunut tämän päivämäärän jälkeen, resurssia ei tarvitse lähettää asiakkaalle.
-
Palvelimen vastaus Molemmissa tapauksissa, jos sisältö ei ole muuttunut, palvelin vastaa HTTP-koodilla 304.
Kun käytetään sekä If-None-Match-
että If-Modified-Since-toimintoa
, If-None-Match
on etusijalla If-Modified-Since-toimintoon
nähden.
Selaimen ja indeksoijan käyttäytyminen
Kun selain vastaanottaa palvelimelta HTTP-koodin 304 Not Modified, se näyttää käyttäjälle välimuistiin tallennetun version, jolloin se on yksi asiakaspuolen uudelleenohjauskoodeista. Mönkijöille 304-vastauksen vastaanottaminen tarkoittaa, että ne voivat välttää saman sisällön lataamisen uudelleen, mikä säästää kaistanleveyttä ja resursseja.
Miksi 304-vastauskoodi on tärkeä?
Pienillä verkkosivustoilla HTTP-koodin 304 tarjoamat välimuistitallennushyödyt eivät ehkä ole yhtä merkittäviä. Suurille verkkosivustoille 304-vastauskoodi tarjoaa kuitenkin huomattavia etuja:
- Suorituskyvyn optimointi Käyttämällä välimuistiin tallennettua sisältöä selaimet voivat ladata sivut nopeammin käyttäjille, mikä parantaa yleistä käyttökokemusta.
- Crawl-budjetin hallinta Suurilla sivustoilla crawl-budjetin hallinta on ratkaisevan tärkeää. Googlen indeksointiohjelma ei indeksoi uudelleen sivuja, jotka eivät ole muuttuneet, joten se voi keskittyä uuteen ja päivitettyyn sisältöön. Näin varmistetaan, että tuore sisältö indeksoidaan tehokkaammin.
Parhaat käytännöt 304 Not Modified -kirjan käyttämiseen
- Aseta oikeat välimuistiotsikot Varmista, että palvelimesi on määritetty lähettämään asianmukaiset
ETag-
jaLast-Modified-otsikot
. - Tarkkaile välimuistin tehokkuutta Tarkista palvelimen lokitiedot säännöllisesti, kuinka usein 304-vastauksia annetaan, ja säädä välimuistikäytäntöjä tarpeen mukaan.
- Sisällön toimituksen optimointi Käytä sisällönjakeluverkkoja (CDN), jotka tukevat tehokkaita välimuistitallennusmekanismeja viiveen vähentämiseksi ja latausaikojen parantamiseksi.
Yksityiskohtaisempaa tietoa HTTP-tilakoodeista ja parhaista käytännöistä web-suorituskyvyn ja hakukoneoptimoinnin kannalta saat arvovaltaisista lähteistä, kuten Mozilla Developer Network (MDN) ja Googlen Web Fundamentals.