Καθορισμός του κωδικού κατάστασης HTTP 300
Ο κωδικός κατάστασης 300 Multiple Choices υποδεικνύει ότι ο πόρος-στόχος έχει περισσότερες από μία αναπαραστάσεις, καθεμία με το δικό της πιο συγκεκριμένο αναγνωριστικό, και παρέχονται πληροφορίες σχετικά με τις εναλλακτικές λύσεις, ώστε ο χρήστης (ή ο πράκτορας χρήστη) να μπορεί να επιλέξει μια προτιμώμενη αναπαράσταση ανακατευθύνοντας το αίτημά του σε ένα ή περισσότερα από αυτά τα αναγνωριστικά. Με άλλα λόγια, ο διακομιστής επιθυμεί ο πράκτορας χρήστη να συμμετάσχει σε αντιδραστική διαπραγμάτευση για να επιλέξει την πιο κατάλληλη αναπαράσταση (ή τις πιο κατάλληλες αναπαραστάσεις) για τις ανάγκες του (Ενότητα 12).
Εάν ο διακομιστής έχει μια προτιμώμενη επιλογή, ο διακομιστής ΘΑ ΠΡΕΠΕΙ να δημιουργήσει ένα πεδίο κεφαλίδας Τοποθεσία που περιέχει την αναφορά URI της προτιμώμενης επιλογής. Ο πράκτορας χρήστη ΜΠΟΡΕΙ να χρησιμοποιήσει την τιμή του πεδίου Location για αυτόματη ανακατεύθυνση.
Για άλλες μεθόδους αίτησης εκτός της HEAD, ο διακομιστής ΘΑ ΠΡΕΠΕΙ να παράγει περιεχόμενο στην απόκριση 300 Multiple Choices που περιέχει έναν κατάλογο μεταδεδομένων αναπαράστασης και αναφορά(-ες) URI από την οποία ο χρήστης ή ο πράκτορας χρήστη μπορεί να επιλέξει την πιο προτιμώμενη. Ο πράκτορας χρήστη ΜΠΟΡΕΙ να κάνει την επιλογή από τη λίστα αυτή αυτόματα, εάν κατανοεί τον παρεχόμενο τύπο πολυμέσων. Μια συγκεκριμένη μορφή για την αυτόματη επιλογή δεν ορίζεται από την παρούσα προδιαγραφή, επειδή το HTTP προσπαθεί να παραμείνει ορθογώνιο ως προς τον ορισμό του περιεχομένου του. Στην πράξη, η αναπαράσταση παρέχεται σε κάποια εύκολα αναλύσιμη μορφή που πιστεύεται ότι είναι αποδεκτή από τον πράκτορα χρήστη, όπως καθορίζεται από τον κοινό σχεδιασμό ή τη διαπραγμάτευση περιεχομένου, ή σε κάποια κοινά αποδεκτή μορφή υπερκειμένου.
Μια απόκριση 300 Multiple Choices είναι ευρετικά αποθηκεύσιμη στην κρυφή μνήμη, δηλαδή, εκτός αν υποδεικνύεται διαφορετικά από τον ορισμό της μεθόδου ή από ρητούς ελέγχους κρυφής μνήμης (βλέπε ενότητα 4.2.2 του [CACHING]).
Σημείωση: Η αρχική πρόταση για τον κωδικό κατάστασης 300 Multiple Choices όριζε το πεδίο επικεφαλίδας URI να παρέχει έναν κατάλογο εναλλακτικών αναπαραστάσεων, έτσι ώστε να μπορεί να χρησιμοποιηθεί για απαντήσεις 200, 300 Multiple Choices και 406 και να μεταφέρεται σε απαντήσεις στη μέθοδο HEAD. Ωστόσο, η έλλειψη ανάπτυξης και η διαφωνία σχετικά με τη σύνταξη οδήγησαν τόσο το URI όσο και τις εναλλακτικές προτάσεις (μια μεταγενέστερη πρόταση) να αποσυρθούν από την παρούσα προδιαγραφή. Είναι δυνατή η κοινοποίηση της λίστας ως τιμή του πεδίου επικεφαλίδας Link [RFC8288], τα μέλη του οποίου έχουν σχέση "alternate", αν και η ανάπτυξη αποτελεί πρόβλημα "κότας και αυγού".
Πηγή / Απόσπασμα από: Ο κωδικός κατάστασης HTTP 300 Multiple Choices καθορίζεται από την ενότητα 15.4.1 του RFC9110.
Πρωτόκολλο HTTP
Πώς να πετάξετε έναν κωδικό κατάστασης 300 με την PHP;
Για την εμφάνιση του κωδικού κατάστασης HTTP 300 σε μια ιστοσελίδα, μπορεί να χρησιμοποιηθεί η συνάρτηση http_response_code της PHP. Η σύνταξη έχει ως εξής: http_response_code(300) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Δοκιμάστε τον κωδικό κατάστασης HTTP 300
Για να είναι δυνατή η εμφάνιση του κωδικού κατάστασης HTTP (στην προκειμένη περίπτωση 300 Multiple Choices) και άλλων πληροφοριών στην πλευρά του πελάτη, η κονσόλα ανάπτυξης πρέπει να ανοίξει με το F12. Στη συνέχεια, μεταβείτε στην καρτέλα "Δίκτυο". Τώρα μπορεί να ανοίξει η σελίδα, ο ιστότοπος (παράδειγμα index.php) θα πρέπει να είναι ορατός στην καρτέλα δικτύου. Αυτή πρέπει να επιλεγεί και στη συνέχεια πρέπει να επιλεγεί το τμήμα Herder. Στη συνέχεια, ο χρήστης θα δει το ακόλουθο αποτέλεσμα:
URL: https://http-statuscode.com/errorCodeExample.php?code=300
Κατάσταση: 300 Multiple Choices
Αυτά τα: Network
Διεύθυνση IP: XX.XX.XX.XX
Συμβατότητα του κωδικού κατάστασης 300 με το πρόγραμμα περιήγησης
Chrome | no data |
Edge | no data |
Firefox | no data |
Opera | no data |
Safari | no data |
Chrome Android | no data |
Firefox for Android | no data |
Opera Android | no data |
Safari on iOS | no data |
Internet | no data |
WebView Android | no data |
Σταθερές στις γλώσσες προγραμματισμού
HttpStatusCode.MultipleChoices
http.StatusMultipleChoices
Response::HTTP_MULTIPLE_CHOICES
:multiple_choices