Mi az a 304 Not Modified válasz?
A 304 Not Modified HTTP-kiszolgálói válaszkód azt jelzi, hogy a kért erőforrás nem módosult a legutóbbi betöltés óta, ami azt jelenti, hogy nincs szükség az ismételt átvitelre. A böngészők számára ez azt jelenti, hogy az erőforrás gyorsítótárazott változata megjeleníthető a felhasználó számára. A lánctalpasok, például a Googlebot számára ez azt jelenti, hogy nincs szükség az oldal újbóli feltérképezésére, mivel semmi sem változott rajta.
Hogyan működik
Itt egy egyszerű magyarázat a 304 Not Modified válasz működéséről:
-
Első kérés Amikor az ügyfél (böngésző vagy lánctalpas) először kér egy erőforrást a webkiszolgálótól, a kiszolgáló a kért erőforrást egy 200 OK HTTP-kóddal küldi el, az ETagnek nevezett hash-kóddal együtt. Az ügyfél rögzíti az oldal/erőforrás lekérdezésének időpontját is.
-
Későbbi kérések Amikor az ügyfél újra kéri az erőforrást, a kiszolgáló ellenőrzi az ügyféltől származó
If-None-Match
és/vagyIf-Modified-Since
fejléceket. Ezt nevezzük feltételes HTTP-kérésnek.If-None-Match
tartalmazza az ETag-et (tartalmi hash-kód). Ha ez megegyezik a kiszolgálón lévő értékkel, akkor ez azt jelzi, hogy a tartalom nem változott, és nem kell újra betölteni (ha a tartalom változik, akkor a hash-kódja is változik).If-Modified-Since
tartalmazza azt a dátumot és időpontot, amikor az ügyfél utoljára kérte a tartalmat. Ha a kiszolgáló úgy látja, hogy a tartalom nem változott ezen időpont óta, akkor nincs szükség az erőforrás elküldésére az ügyfélnek.
-
Akiszolgáló válasza Mindkét esetben, ha a tartalom nem változott, a kiszolgáló 304-es HTTP-kóddal válaszol.
Ha mind az If-None-Match
, mind az If-Modified-Since
opciót használja, az If-None-Match
elsőbbséget élvez az If-Modified-Since opció
val szemben.
Böngésző és lánctalpas viselkedés
Amikor a böngésző a 304 Not Modified HTTP-kódot kapja a kiszolgálótól, a felhasználónak a gyorsítótárazott verziót mutatja meg, így ez az egyik ügyféloldali átirányítási kód. A lánctalpasok számára a 304-es válasz fogadása azt jelenti, hogy elkerülhetik ugyanannak a tartalomnak az ismételt letöltését, ami sávszélességet és erőforrásokat takarít meg.
Miért fontos a 304-es válaszkód?
Kisebb webhelyek esetében a 304 HTTP-kód által biztosított gyorsítótárazási előnyök nem feltétlenül olyan jelentősek. A nagy weboldalak esetében azonban a 304-es válaszkód jelentős előnyökkel jár:
- Teljesítményoptimalizálás A gyorsítótárazott tartalom kihasználásával a böngészők gyorsabban betöltik az oldalakat a felhasználók számára, javítva ezzel az általános felhasználói élményt.
- Lekérdezési költségvetés kezelése A nagy webhelyek esetében a feltérképezési költségvetés kezelése kulcsfontosságú. A Google lánctalpas programja nem fogja újra feltérképezni azokat az oldalakat, amelyek nem változtak, így az új és frissített tartalomra összpontosíthat. Ez segít biztosítani, hogy a friss tartalmak hatékonyabban indexelődjenek.
Legjobb gyakorlatok a 304 Nem módosított 304 használatához
- Megfelelő gyorsítótár fejlécek beállítása Győződjön meg róla, hogy a kiszolgálója úgy van beállítva, hogy megfelelő
ETag
ésLast-Modified
fejléceket küldjön. - Agyorsítótár hatékonyságának figyelése Ellen őrizze rendszeresen a kiszolgálónaplókat, hogy lássa, milyen gyakran adnak ki 304-es válaszokat, és szükség szerint módosítsa a gyorsítótár-szabályokat.
- Atartalomszolgáltatás optimalizálása Használjon olyan tartalomszolgáltató hálózatokat (CDN), amelyek támogatják a hatékony gyorsítótárazási mechanizmusokat a késleltetés csökkentése és a betöltési idők javítása érdekében.
A HTTP státuszkódokkal és a webes teljesítményre és a SEO-ra vonatkozó legjobb gyakorlatokkal kapcsolatos részletesebb információkért tekintse meg az olyan hiteles forrásokat, mint a Mozilla Developer Network (MDN ) és a Google Web Fundamentals.