304-es átirányítás
A 304-es átirányítás definíciója
A 304-es átirányítás egy HTTP válaszkód, ami azt jelenti, hogy a kért erőforrás (pl. egy weboldal) nem volt módosítva a legutóbbi betöltése óta, ezért nincs szükség az újbóli lekérésére.
Egy böngésző számára ez azt jelenti, hogy az erőforrás gyorsítótárazott verziója is betölthető a felhasználó számára, mert a weboldal nem kínál semmi újat ahhoz képest.
A Googlebot és más keresőmotorok robotjai számára a 304 azt jelenti, hogy nincs értelme újból feltérképezni az adott oldalt, mert minden úgy szerepel rajta, mint a legutóbbi feltérképezéskor.
A 304-es átirányítás működése
Amikor egy kliens (legyen az egy felhasználó böngészője vagy egy keresőmotor robotja) először kér le egy erőforrást egy webhely szerveréről és minden rendben zajlik, a szerver elküldi a kért erőforrást egy 200-as „OK” HTTP válaszkóddal, illetve egy hash kóddal, azaz ETag-gal. A kliens e mellett feljegyzi, hogy mikor kérte le az adott erőforrást (dátum és idő).
Később aztán amikor a kliens ismét lekéri valamiért ugyan ezt az erőforrást, a szerver megvizsgálja a küldött kérésben szereplő „If-None-Match” és/vagy „If-Modified-Since” fejléceket. Az If-None-Match tartalmazza az ETtag-eet (a tartalom hash kódját). Ha a kérésben szereplő ETag azonos azzal, amit a szerver éppen tárol, akkor ez azt jelenti, hogy a tartalom nem változott a legutóbbi lekérés óta, és ezért nincs értelme újra letölteni azt. Amikor a tartalom megváltozik, azzal együtt az ETag is megújul.
Az If-Modified-Since fejléc azt a dátumot és időt, amikor a kliens legutóbb lekérte az erőforrást. Ha a szerver azt látja, hogy a tartalom nem változott az adott időpont óta, akkor szintén nincs értelme újból letölteni a kért erőforrást.
A szerver mindkét esetben 304-es HTTP válaszkódot küld majd vissza a kliensnek.
Ha a kérésben mind az If-None-Match mind pedig az If-Modified-Since is szerepel, akkor az If-None-Match részesül előnyben.
Amikor aztán a kliens megkapja a 304-es válaszkódot, akkor tudni fogja, hogy elég csak a gyorsítótárazott, azaz korábban letöltött verziót megmutatni a felhasználónak az oldalból. Ez jóval gyorsabb lehet, mint újból letölteni az egész oldal összes tartalmát.
Működéséből adódóan a 304-es HTTP válaszkód a szerveroldali átirányítások egyike.
Miért fontos a 304-es válaszkód?
Egy kisebb webhelyen, amelyen kevesebb tartalom szerepel nem annyira fontos a gyorsítótárazás.
A nagyobb webhelyeken azonban a 304-es válaszkód segít megakadályozni a feltérképezési keret felesleges felhasználását. A Google robotja nem fogja újra feltérképezni a 304-es oldalakat, helyettük inkább az új és frissült oldalakra koncentrál majd.
Gyakori kérdések
Mi az a 304-es átirányítás?
A 304-es átirányítás azt jelenti, hogy a kért weboldal vagy más erőforrás nem változott meg a legutolsó látogatás óta. Ilyenkor nincs szükség az oldal újbóli letöltésére.
Miért hasznos a 304-es átirányítás?
A 304-es átirányítás segít megakadályozni, hogy a keresőmotorok robotjai feleslegesen térképezzenek fel olyan tartalmakat, amelyek nem változtak meg a legutóbbi látogatásuk óta. Ez segít spórolni a feltérképezési kereten.