Τι είναι η απάντηση 304 Not Modified;
Ο κωδικός απόκρισης του διακομιστή HTTP 304 Not Modified υποδεικνύει ότι ο ζητούμενος πόρος δεν έχει τροποποιηθεί από την τελευταία φορά που φορτώθηκε, πράγμα που σημαίνει ότι δεν χρειάζεται να μεταφερθεί ξανά. Για τα προγράμματα περιήγησης, αυτό σημαίνει ότι η αποθηκευμένη στην προσωρινή μνήμη έκδοση του πόρου μπορεί να εμφανιστεί στο χρήστη. Για τους ανιχνευτές, όπως το Googlebot, αυτό σημαίνει ότι δεν χρειάζεται να ανιχνευθεί εκ νέου η σελίδα επειδή δεν έχει αλλάξει τίποτα σε αυτήν.
Πώς λειτουργεί
Ακολουθεί μια απλή εξήγηση για το πώς λειτουργεί η απάντηση 304 Not Modified:
-
Αρχικό αίτημα Όταν ο πελάτης (πρόγραμμα περιήγησης ή ανιχνευτής) ζητά για πρώτη φορά έναν πόρο από τον διακομιστή ιστού, ο διακομιστής αποστέλλει τον ζητούμενο πόρο με έναν κωδικό HTTP 200 OK, μαζί με τον κωδικό κατακερματισμού του, που ονομάζεται ETag. Ο πελάτης καταγράφει επίσης την ώρα που ζήτησε τη σελίδα/τον πόρο.
-
Όταν ο πελάτης ζητήσει ξανά τον πόρο, ο διακομιστής ελέγχει τις κεφαλίδες
If-None-Match
ή/καιIf-Modified-Since
από τον πελάτη. Αυτό είναι γνωστό ως αίτηση HTTP υπό όρους.- Το
If-None-Match
περιέχει το ETag (κωδικός κατακερματισμού περιεχομένου). Εάν ταιριάζει με την τιμή στον διακομιστή, αυτό υποδεικνύει ότι το περιεχόμενο δεν έχει αλλάξει και δεν χρειάζεται να το φορτώσετε ξανά (όταν το περιεχόμενο αλλάζει, αλλάζει και ο κωδικός κατακερματισμού του). - Το
If-Modified-Since
περιέχει την ημερομηνία και την ώρα κατά την οποία ο πελάτης ζήτησε τελευταία φορά το περιεχόμενο. Εάν ο διακομιστής διαπιστώσει ότι το περιεχόμενο δεν έχει αλλάξει από αυτή την ημερομηνία, δεν χρειάζεται να στείλει τον πόρο στον πελάτη.
- Το
-
Απάντηση διακομιστή Και στις δύο περιπτώσεις, εάν το περιεχόμενο δεν έχει αλλάξει, ο διακομιστής απαντά με τον κωδικό 304 HTTP.
Όταν χρησιμοποιούνται τόσο το If-None-Match
όσο και το If-Modified-Since
, το If-None-Match
υπερισχύει του If-Modified-Since
.
Συμπεριφορά του προγράμματος περιήγησης και του Crawler
Όταν το πρόγραμμα περιήγησης λαμβάνει τον κωδικό HTTP 304 Not Modified από τον διακομιστή, θα εμφανίσει την αποθηκευμένη έκδοση στον χρήστη, καθιστώντας την έναν από τους κωδικούς ανακατεύθυνσης από την πλευρά του πελάτη. Για τους ανιχνευτές, η λήψη μιας απάντησης 304 σημαίνει ότι μπορούν να αποφύγουν την εκ νέου λήψη του ίδιου περιεχομένου, εξοικονομώντας εύρος ζώνης και πόρους.
Γιατί είναι σημαντικός ο κωδικός απάντησης 304;
Για μικρούς ιστότοπους, τα οφέλη από την προσωρινή αποθήκευση που παρέχει ο κωδικός 304 HTTP μπορεί να μην είναι τόσο σημαντικά. Ωστόσο, για μεγάλους ιστότοπους, ο κωδικός απόκρισης 304 προσφέρει σημαντικά πλεονεκτήματα:
- Βελτιστοποίηση επιδόσεων Με την αξιοποίηση του αποθηκευμένου περιεχομένου, τα προγράμματα περιήγησης μπορούν να φορτώνουν τις σελίδες ταχύτερα για τους χρήστες, βελτιώνοντας τη συνολική εμπειρία του χρήστη.
- Διαχείριση προϋπολογισμού ανίχνευσης Για μεγάλες τοποθεσίες, η διαχείριση του προϋπολογισμού ανίχνευσης είναι ζωτικής σημασίας. Το πρόγραμμα ανίχνευσης της Google δεν θα κάνει εκ νέου ανίχνευση σελίδων που δεν έχουν αλλάξει, επιτρέποντάς του να επικεντρωθεί σε νέο και ενημερωμένο περιεχόμενο. Αυτό συμβάλλει στην αποτελεσματικότερη ευρετηρίαση του φρέσκου περιεχομένου.
Βέλτιστες πρακτικές για τη χρήση του 304 Not Modified
- Ορισμός κατάλληλων κεφαλίδων cache Βεβαιωθείτε ότι ο διακομιστής σας έχει ρυθμιστεί ώστε να στέλνει τις κατάλληλες κεφαλίδες
ETag
καιLast-Modified
. - Παρακολούθηση της αποτελεσματικότητας της προσωρινής αποθήκευσης Ελέγχετε τακτικά τα αρχεία καταγραφής του διακομιστή σας για να δείτε πόσο συχνά εκδίδονται απαντήσεις 304 και προσαρμόστε τις πολιτικές προσωρινής αποθήκευσης ανάλογα με τις ανάγκες.
- Βελτιστοποίηση της παράδοσης περιεχομένου Χρησιμοποιήστε δίκτυα παράδοσης περιεχομένου (CDN) που υποστηρίζουν αποτελεσματικούς μηχανισμούς προσωρινής αποθήκευσης για να μειώσετε την καθυστέρηση και να βελτιώσετε τους χρόνους φόρτωσης.
Για πιο λεπτομερείς πληροφορίες σχετικά με τους κωδικούς κατάστασης HTTP και τις βέλτιστες πρακτικές για την απόδοση του ιστού και το SEO, ανατρέξτε σε έγκυρες πηγές όπως το Mozilla Developer Network (MDN) και το Web Fundamentals της Google.