304

Not Modified

Επίσημο
Ο πόρος δεν χρειάζεται να αναμεταδοθεί, καθώς δεν έχει επέλθει καμία αλλαγή.

Καθορισμός του κωδικού κατάστασης HTTP 304

Ο κωδικός κατάστασης 304 Not Modified υποδεικνύει ότι έχει ληφθεί ένα υπό συνθήκη αίτημα GET ή HEAD και θα είχε ως αποτέλεσμα μια απάντηση 200 (OK), αν δεν ήταν το γεγονός ότι η συνθήκη αξιολογήθηκε ως ψευδής. Με άλλα λόγια, δεν υπάρχει καμία ανάγκη για τον διακομιστή να μεταφέρει μια αναπαράσταση του πόρου-στόχου επειδή η αίτηση υποδεικνύει ότι ο πελάτης, ο οποίος έκανε την αίτηση υπό όρους, έχει ήδη μια έγκυρη αναπαράσταση- ο διακομιστής, επομένως, ανακατευθύνει τον πελάτη για να κάνει χρήση αυτής της αποθηκευμένης αναπαράστασης σαν να ήταν το περιεχόμενο μιας απάντησης 200 (OK).

Ο διακομιστής που παράγει μια απάντηση 304 Not Modified ΠΡΕΠΕΙ να παράγει οποιοδήποτε από τα ακόλουθα πεδία επικεφαλίδας που θα είχαν σταλεί σε μια απάντηση 200 (OK) στην ίδια αίτηση:

  1. Content-Location, Date, ETag και Vary
  2. Cache-Control και Expires (βλ. [CACHING])

Επειδή ο στόχος μιας απάντησης 304 Not Modified είναι η ελαχιστοποίηση της μεταφοράς πληροφοριών όταν ο παραλήπτης έχει ήδη μία ή περισσότερες αναπαραστάσεις στην προσωρινή μνήμη, ο αποστολέας ΔΕΝ ΠΡΕΠΕΙ να παράγει μεταδεδομένα αναπαράστασης εκτός από τα παραπάνω πεδία, εκτός εάν τα εν λόγω μεταδεδομένα υπάρχουν με σκοπό την καθοδήγηση των ενημερώσεων της προσωρινής μνήμης (π.g., Last-Modified μπορεί να είναι χρήσιμο εάν η απάντηση δεν έχει πεδίο ETag).

Οι απαιτήσεις για μια κρυφή μνήμη που λαμβάνει μια απάντηση 304 Not Modified ορίζονται στην ενότητα 4.3.4 του [CACHING]. Εάν το υπό όρους αίτημα προέρχεται από έναν εξερχόμενο πελάτη, όπως ένας πράκτορας χρήστη με δική του κρυφή μνήμη που στέλνει ένα υπό όρους GET σε έναν κοινόχρηστο διακομιστή μεσολάβησης, τότε ο διακομιστής μεσολάβησης ΠΡΕΠΕΙ να προωθήσει την απάντηση 304 Not Modified σε αυτόν τον πελάτη.

Μια απάντηση 304 Not Modified τερματίζεται με το τέλος του τμήματος επικεφαλίδων- δεν μπορεί να περιέχει περιεχόμενο ή τρέιλερ.

Πηγή / Απόσπασμα από: Ο κωδικός κατάστασης HTTP 304 Not Modified καθορίζεται από την ενότητα 15.4.5 του RFC9110.

Πρωτόκολλο HTTP

έργο σε εξέλιξη

Πώς να πετάξετε έναν κωδικό κατάστασης 304 με την PHP;

Για την εμφάνιση του κωδικού κατάστασης HTTP 304 σε μια ιστοσελίδα, μπορεί να χρησιμοποιηθεί η συνάρτηση http_response_code της PHP. Η σύνταξη έχει ως εξής: http_response_code(304) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Δοκιμάστε τον κωδικό κατάστασης HTTP 304

Για να είναι δυνατή η εμφάνιση του κωδικού κατάστασης HTTP (στην προκειμένη περίπτωση 304 Not Modified) και άλλων πληροφοριών στην πλευρά του πελάτη, η κονσόλα ανάπτυξης πρέπει να ανοίξει με το F12. Στη συνέχεια, μεταβείτε στην καρτέλα "Δίκτυο". Τώρα μπορεί να ανοίξει η σελίδα, ο ιστότοπος (παράδειγμα index.php) θα πρέπει να είναι ορατός στην καρτέλα δικτύου. Αυτή πρέπει να επιλεγεί και στη συνέχεια πρέπει να επιλεγεί το τμήμα Herder. Στη συνέχεια, ο χρήστης θα δει το ακόλουθο αποτέλεσμα:

Κωδικός κατάστασης 304 Not Modified
Επισκόπηση
URL: https://http-statuscode.com/errorCodeExample.php?code=304
Κατάσταση: 304 Not Modified
Αυτά τα: Network
Διεύθυνση IP: XX.XX.XX.XX
Κωδικός κατάστασης 304 Not Modified

Συμβατότητα του κωδικού κατάστασης 304 με το πρόγραμμα περιήγησης

Chrome Yes
Edge Yes
Firefox Yes
Opera Yes
Safari Yes
Chrome Android Yes
Firefox for Android Yes
Opera Android Yes
Safari on iOS Yes
Internet Yes
WebView Android Yes

Σταθερές στις γλώσσες προγραμματισμού

http.StatusNotModified
Response::HTTP_NOT_MODIFIED
:not_modified

Εξωτερικοί σύνδεσμοι με περισσότερες πληροφορίες σχετικά με τον κωδικό κατάστασης HTTP 304:

Διασκεδαστικά μιμίδια για τον κωδικό κατάστασης HTTP 304

Άρθρο στο ιστολόγιο

Προσωρινή αποθήκευση και κωδικοί κατάστασης HTTP: Βελτιστοποίηση της απόδοσης του ιστού μέσω έξυπνης προσωρινής αποθήκευσης

Η απόδοση του διαδικτύου και η εμπειρία του χρήστη που προκύπτει από αυτήν είναι κεντρικές πτυχές για την επιτυχία κάθε ιστότοπου. Ένας σημαντικός παράγοντας που επηρεάζει αυτή την απόδοση είναι οι...

Συγγραφέας: Tony Brüser
Συγγραφέας: Tony Brüser

Ο Tony Brüser είναι ένας ενθουσιώδης προγραμματιστής ιστοσελίδων με προτίμηση στους κωδικούς κατάστασης HTTP.

LinkedInGitHub