506

Variant Also Negotiates

Επίσημο
Το τελικό σημείο διαπραγματεύεται μόνο του

Γενική επεξήγηση του κωδικού κατάστασης 506

Ο κωδικός κατάστασης HTTP 506 Variant Also Negotiates είναι ένδειξη ενός συγκεκριμένου προβλήματος σε έναν διακομιστή που εμφανίζεται όταν ο διακομιστής αναπτύσσεται σε μια διαμόρφωση που χρησιμοποιεί τη λεγόμενη διαφανή διαπραγμάτευση περιεχομένου. Αυτός ο τύπος διαπραγμάτευσης περιεχομένου χρησιμοποιείται για τη διαχείριση διαφορετικών εκδόσεων ενός πόρου που μπορούν να παραδοθούν ανάλογα με τις απαιτήσεις του αιτούντος πελάτη (π.χ. διαφορετικές γλώσσες, μορφές αρχείων ή κωδικοποιήσεις).

Στην ουσία, ο κωδικός κατάστασης 506 Variant Also Negotiates σημαίνει ότι υπάρχει μια λανθασμένη διαμόρφωση στον διακομιστή που οδηγεί σε έναν ατέρμονα βρόχο διαπραγμάτευσης. Αντί ο διακομιστής να επιλέξει μια συγκεκριμένη έκδοση του αιτούμενου πόρου με βάση τις προτιμήσεις του πελάτη, η ίδια η επιλογή παραπέμπει σε άλλη διαπραγμάτευση. Το αποτέλεσμα είναι να μην παραδίδεται καμία από τις παραλλαγές, επειδή ο διακομιστής έχει παγιδευτεί σε έναν κύκλο αναφορών, όπου η μία παραλλαγή παραπέμπει σε μία άλλη, η οποία με τη σειρά της παραπέμπει σε μία άλλη κ.ο.κ.

Ένα απλό παράδειγμα: Ένας πελάτης θέλει μια ιστοσελίδα σε μια συγκεκριμένη γλώσσα. Ο διακομιστής διαθέτει διαφορετικές γλωσσικές εκδόσεις της ιστοσελίδας και προσπαθεί να επιλέξει την πιο κατάλληλη έκδοση. Ωστόσο, εάν η διαμόρφωση του διακομιστή είναι λανθασμένη, η διαδικασία που υποτίθεται ότι θα επέλεγε την καταλληλότερη έκδοση μπορεί αντί να κάνει μια οριστική επιλογή να παραπέμψει σε έναν άλλο γύρο διαπραγματεύσεων. Ο κωδικός κατάστασης 506 Variant Also Negotiates σηματοδοτεί στον πελάτη ότι ο διακομιστής δεν είναι σε θέση να παραδώσει μια κατάλληλη έκδοση του πόρου λόγω αυτών των εσωτερικών συγκρούσεων ή λανθασμένων ρυθμίσεων.

Στην πράξη, αυτός ο κωδικός κατάστασης εμφανίζεται σπάνια, επειδή προϋποθέτει μια πολύ συγκεκριμένη διαμόρφωση του διακομιστή και μια πολύ συγκεκριμένη κατάσταση σφάλματος. Η επίλυση του προβλήματος απαιτεί την επανεξέταση και διόρθωση της διαμόρφωσης του διακομιστή, ώστε να διασφαλιστεί ότι η διαπραγμάτευση περιεχομένου μπορεί να εκτελεστεί σωστά χωρίς να εισέλθει σε έναν ατέρμονα βρόχο.

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

Ο κωδικός κατάστασης 506 Variant Also Negotiates υποδεικνύει ότι ο διακομιστής έχει ένα εσωτερικό σφάλμα διαμόρφωσης: ο επιλεγμένος πόρος παραλλαγής έχει διαμορφωθεί ώστε να συμμετέχει ο ίδιος σε διαφανή διαπραγμάτευση περιεχομένου και, επομένως, δεν αποτελεί κατάλληλο τελικό σημείο στη διαδικασία διαπραγμάτευσης.

Πηγή / Απόσπασμα από: Ο κωδικός κατάστασης HTTP 506 Variant Also Negotiates καθορίζεται από την ενότητα 8.1 του RFC2295.

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

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

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

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

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

Πώς να δημιουργήσετε τη δική σας σελίδα σφάλματος για τον κωδικό κατάστασης 506

Η δημιουργία της δικής σας σελίδας σφάλματος 506 Variant Also Negotiates είναι σχετικά εύκολη τόσο με τους διακομιστές ιστού "Apache" όσο και με τους διακομιστές ιστού "NGINX".

Apache Webserver

Ο διακομιστής ιστού "Apache" είναι ένας από τους πιο διαδεδομένους διακομιστές ιστού στο Διαδίκτυο. Για να δημιουργήσετε τη δική σας σελίδα σφάλματος 506 Variant Also Negotiates στον "Apache", πρέπει να κάνετε την ακόλουθη αλλαγή στο ακόλουθο αρχείο.

File: .htaccess
ErrorDocument 506 /errors/506.html

NGINX Webserver

Παρόμοια με τον διακομιστή ιστού "Apache", ο "NGINX" χρησιμοποιείται επίσης ευρέως στο Διαδίκτυο. Για να δημιουργήσετε τη δική σας σελίδα σφάλματος 506 Variant Also Negotiates στο "NGINX", πρέπει να γίνει η ακόλουθη αλλαγή στο ακόλουθο αρχείο.

File: sites-enabled/default
error_page 506 /506.html;
location = /506.html {
    root /usr/share/nginx/html;
    internal;
}

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

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

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

http.StatusVariantAlsoNegotiates
Response::HTTP_VARIANT_ALSO_NEGOTIATES_EXPERIMENTAL
:variant_also_negotiates

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

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

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

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

LinkedInGitHub