101

Switching Protocols

Επίσημο
Το πρωτόκολλο μετάδοσης αλλάζει κατόπιν αιτήματος του πελάτη.

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

Φανταστείτε ότι βρίσκεστε σε ένα εστιατόριο και θέλετε να παραγγείλετε ένα ποτό. Ο σερβιτόρος σας πλησιάζει και σας ζητάει την παραγγελία σας. Λέτε: "Θα ήθελα ένα ποτήρι νερό, αλλά αν έχετε φρέσκο χυμό πορτοκάλι, θα προτιμούσα αυτόν". Εδώ ουσιαστικά δίνετε στον σερβιτόρο δύο επιλογές και τον ενημερώνετε ότι είστε ευέλικτοι. Το αίτημα για αλλαγή πρωτοκόλλου λειτουργεί με παρόμοιο τρόπο.

Όταν ένα πρόγραμμα περιήγησης στο διαδίκτυο ή ένα άλλο εργαλείο πελάτη στέλνει ένα αίτημα σε έναν διακομιστή, ο πελάτης μπορεί να προτείνει τη μετάβαση σε ένα διαφορετικό πρωτόκολλο επικοινωνίας επειδή πιστεύει ότι αυτό το άλλο πρωτόκολλο θα ήταν πιο αποτελεσματικό ή πιο κατάλληλο. Για παράδειγμα, ένας πελάτης που χρησιμοποιεί αρχικά μια σύνδεση HTTP μπορεί να προτείνει τη μετάβαση σε WebSockets για να παρέχει μια πάντα ανοιχτή σύνδεση για δεδομένα πραγματικού χρόνου.

Όταν ο διακομιστής δέχεται αυτή την πρόταση, απαντά με κωδικό κατάστασης 101 Switching Protocols για να πει στον πελάτη: "Εντάξει! Ας αλλάξουμε πρωτόκολλο". Από αυτό το σημείο και μετά, η επικοινωνία μεταξύ πελάτη και διακομιστή συνεχίζεται μέσω του νέου, συμφωνημένου πρωτοκόλλου.

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

Ο κωδικός κατάστασης 101 Switching Protocols υποδεικνύει ότι ο διακομιστής κατανοεί και είναι πρόθυμος να συμμορφωθεί με το αίτημα του πελάτη, μέσω του πεδίου επικεφαλίδας Upgrade, για αλλαγή του πρωτοκόλλου εφαρμογής που χρησιμοποιείται σε αυτή τη σύνδεση. Ο διακομιστής ΠΡΕΠΕΙ να δημιουργήσει ένα πεδίο επικεφαλίδας Upgrade στην απόκριση που υποδεικνύει σε ποιο(α) πρωτόκολλο(α) θα γίνει η αλλαγή αμέσως μετά την κενή γραμμή που τερματίζει την απόκριση 101 Switching Protocols. Θεωρείται ότι ο διακομιστής θα συμφωνήσει να αλλάξει πρωτόκολλο μόνο όταν αυτό είναι επωφελές. Για παράδειγμα, η μετάβαση σε μια νεότερη έκδοση του HTTP μπορεί να είναι επωφελής σε σχέση με τις παλαιότερες εκδόσεις και η μετάβαση σε ένα σύγχρονο πρωτόκολλο πραγματικού χρόνου μπορεί να είναι επωφελής όταν παραδίδονται πόροι που χρησιμοποιούν τέτοια χαρακτηριστικά.

Πηγή / Απόσπασμα από: Ο κωδικός κατάστασης HTTP 101 Switching Protocols καθορίζεται από την ενότητα 6.2.2 του RFC7231.

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

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

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

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

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

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

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.SwitchingProtocols
http.StatusSwitchingProtocols
Response::HTTP_SWITCHING_PROTOCOLS
httplib.SWITCHING_PROTOCOLS
http.client.SWITCHING_PROTOCOLS
http.HTTPStatus.SWITCHING_PROTOCOLS
:switching_protocols
HttpServletResponse.SC_SWITCHING_PROTOCOLS 

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

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

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

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

LinkedInGitHub