Κατανόηση του πρωτοκόλλου WebSocket και του κύκλου ζωής της σύνδεσης
Το πρωτόκολλο WebSocket επιτρέπει την αμφίδρομη, σε πραγματικό χρόνο επικοινωνία μεταξύ ενός πελάτη και ενός διακομιστή μέσω μιας μοναδικής, μακροχρόνιας σύνδεσης TCP. Σε αντίθεση με το παραδοσιακό μοντέλο αιτήματος-απάντησης του HTTP, όπου ο πελάτης πρέπει συνεχώς να ζητά νέα δεδομένα, το WebSocket επιτρέπει στον διακομιστή να στέλνει δεδομένα στον πελάτη ανά πάσα στιγμή, χωρίς προηγούμενη αίτηση.
Η σύνδεση WebSocket ακολουθεί έναν συγκεκριμένο κύκλο ζωής:
- Χειραψία (Handshake): Ο πελάτης ξεκινά τη σύνδεση στέλνοντας ένα αίτημα αναβάθμισης πρωτοκόλλου (HTTP Upgrade).
- Ανοιχτή σύνδεση: Μόλις ο διακομιστής αποδεχτεί την αναβάθμιση, η σύνδεση εδραιώνεται.
- Ανταλλαγή δεδομένων: Και τα δύο μέρη μπορούν να στέλνουν και να λαμβάνουν μηνύματα κειμένου ή δυαδικά δεδομένα.
- Κλείσιμο: Οποιοδήποτε από τα δύο μέρη μπορεί να τερματίσει τη σύνδεση, στέλνοντας έναν κωδικό κλεισίματος και μια προαιρετική αιτία.
Αυτός ο Πελάτης δοκιμής WebSocket έχει σχεδιαστεί για προγραμματιστές που εργάζονται με API πραγματικού χρόνου, μηχανικούς ενοποίησης, προσωπικό διασφάλισης ποιότητας (QA), προσωπικό λειτουργιών (Ops) και οποιονδήποτε χρειάζεται να συνδεθεί χειροκίνητα σε ένα δημόσια προσβάσιμο τελικό σημείο WebSocket για να παρατηρήσει τη συμπεριφορά του.
Πρωτόκολλα ws:// έναντι wss:// και ασφάλεια
Κατά τη σύνδεση σε έναν διακομιστή WebSocket, χρησιμοποιούνται δύο διαφορετικά σχήματα διευθύνσεων:
- ws:// (WebSocket): Χρησιμοποιεί μη κρυπτογραφημένη μεταφορά δεδομένων, παρόμοια με το HTTP.
- wss:// (WebSocket Secure): Χρησιμοποιεί κρυπτογράφηση TLS/SSL, παρέχοντας το ίδιο επίπεδο ασφάλειας με το HTTPS.
Η χρήση του wss:// είναι απαραίτητη όταν εργάζεστε σε περιβάλλοντα παραγωγής ή όταν η εφαρμογή σας εκτελείται σε μια ασφαλή σελίδα HTTPS. Τα σύγχρονα προγράμματα περιήγησης επιβάλλουν αυστηρούς κανόνες ασφαλείας και συνήθως εμποδίζουν τη σύνδεση σε μη ασφαλείς διευθύνσεις ws:// από σελίδες που εξυπηρετούνται μέσω HTTPS.
Κανόνες εισαγωγής δεδομένων και περιορισμοί
Για τη σωστή λειτουργία του εργαλείου, πρέπει να τηρούνται συγκεκριμένοι κανόνες κατά την εισαγωγή των δεδομένων:
- Διεύθυνση WebSocket: Πρέπει να εισαγάγετε μια πλήρη διεύθυνση που ξεκινά με το σχήμα
ws://ήwss://. Εάν εισαχθεί διαφορετικό σχήμα, το εργαλείο εμφανίζει το μήνυμα "Χρησιμοποιήστε μια διεύθυνση ws:// ή wss://". Εάν η διεύθυνση δεν είναι πλήρης, εμφανίζεται το μήνυμα "Εισαγάγετε μια πλήρη διεύθυνση WebSocket, όπως wss://example.com/socket". Το μέγιστο επιτρεπόμενο μήκος της διεύθυνσης είναι οι 2.048 χαρακτήρες. Εάν ξεπεραστεί αυτό το όριο, εμφανίζεται το μήνυμα "Αυτή η διεύθυνση είναι ασυνήθιστα μεγάλη. Κρατήστε το κάτω από χαρακτήρες 2,048". - Μήνυμα: Μπορείτε να στείλετε ένα μήνυμα κειμένου τη φορά. Για την αποστολή, μπορείτε να επιλέξετε "Αποστολή μηνύματος" ή να πατήσετε Ctrl+Enter ή Command+Enter. Το μήνυμα μπορεί να έχει μέγεθος έως 100.000 χαρακτήρες. Εάν το μήνυμα υπερβαίνει αυτό το όριο, εμφανίζεται το σφάλμα "Αυτό το μήνυμα είναι ασυνήθιστα μεγάλο. Κρατήστε το κάτω από χαρακτήρες 100,000". Δεν είναι δυνατή η αποστολή μηνύματος εάν δεν είστε συνδεδεμένοι· σε αυτή την περίπτωση, εμφανίζεται το μήνυμα "Συνδεθείτε πριν στείλετε ένα μήνυμα".
Διαχείριση του αρχείου καταγραφής και έξοδοι
Το εργαλείο παρέχει μια λεπτομερή χρονολογική καταγραφή όλων των συμβάντων και των μηνυμάτων. Κάθε καταχώριση στο "Ημερολόγιο μηνυμάτων" συνοδεύεται από συγκεκριμένες ενδείξεις:
- Στάλθηκε: Υποδεικνύει ένα μήνυμα που στάλθηκε από τον πελάτη.
- Ελήφθη: Υποδεικνύει ένα μήνυμα που λήφθηκε από τον πελάτη.
- Εκδήλωση: Υποδεικνύει ένα συμβάν που σχετίζεται με τη σύνδεση.
- Κείμενο: Επισημαίνει ένα μήνυμα κειμένου.
- Δυαδικό μήνυμα: Επισημαίνει ένα δυαδικό μήνυμα, το οποίο εμφανίζεται ως "Δυαδικό μήνυμα" ακολουθούμενο από το μέγεθός του σε "byte".
Περιορισμοί εμφάνισης και απόδοσης
Για να διατηρηθεί η σελίδα ανταποκρίσιμη, εφαρμόζονται οι ακόλουθοι κανόνες:
- Το αρχείο καταγραφής διατηρεί το μέγιστο 500 καταχωρίσεις. Όταν ξεπεραστεί αυτό το όριο, εμφανίζεται η ειδοποίηση "
‹count›παλαιότερες καταχωρίσεις ημερολογίου καταργήθηκαν για να διατηρηθεί η ανταπόκριση αυτής της σελίδας.". - Οι μεμονωμένες καταχωρίσεις εμφανίζουν έως 20.000 χαρακτήρες. Τα μεγαλύτερα μηνύματα περικόπτονται και εμφανίζεται η ένδειξη "
‹count›περισσότεροι χαρακτήρες είναι κρυμμένοι σε αυτήν την προεπισκόπηση.".
Η επιλογή "Εκκαθάριση αρχείου καταγραφής" διαγράφει μόνο τις εμφανιζόμενες καταχωρίσεις στην οθόνη. Δεν κλείνει την τρέχουσα σύνδεση και δεν μηδενίζει τους μετρητές μηνυμάτων "Στάλθηκε" και "Ελήφθη".
Κατανόηση των σφαλμάτων σύνδεσης και των κωδικών κλεισίματος
Η σύνδεση στον διακομιστή ξεκινά μόνο όταν επιλέξετε "Συνδεθείτε". Κατά τη διάρκεια της προσπάθειας, εμφανίζεται η ένδειξη "Σύνδεση στο ‹address›…". Εάν η σύνδεση επιτύχει, εμφανίζεται το συμβάν "Συνδέθηκε στο ‹address›.".
Σφάλματα σύνδεσης
- Υπέρβαση ορίου χρόνου: Εάν ο διακομιστής δεν ανοίξει τη σύνδεση εντός 10 δευτερολέπτων, εμφανίζεται το μήνυμα "Ο διακομιστής δεν άνοιξε τη σύνδεση μέσα σε 10 δευτερόλεπτα.".
- Αποτυχία σύνδεσης: Εάν η σύνδεση αποτύχει για άλλους λόγους, εμφανίζεται το μήνυμα "Η σύνδεση απέτυχε. Ελέγξτε τη διεύθυνση, το πιστοποιητικό, τη διαθεσιμότητα διακομιστή και τους κανόνες πρόσβασης στο πρόγραμμα περιήγησης.".
Κλείσιμο σύνδεσης
Όταν η σύνδεση κλείνει, εμφανίζεται το συμβάν "Κλειστό με κωδικό ‹code› (‹clean›). Αιτία: ‹reason›".
- Η κατάσταση κλεισίματος μπορεί να είναι "καθαρό" ή "όχι καθαρό".
- Εάν ο διακομιστής δεν παρέχει συγκεκριμένη αιτία κλεισίματος, εμφανίζεται η ένδειξη "Δεν παρέχεται λόγος".
- Το εργαλείο εμφανίζει επίσης τον αριθμητικό "Κλείσιμο κωδικού" που υποδεικνύει την αιτία τερματισμού της σύνδεσης.
Περιορισμοί του προγράμματος περιήγησης
Αυτό το εργαλείο εκτελείται εξ ολοκλήρου μέσα στο πρόγραμμα περιήγησης και υπόκειται στους περιορισμούς του επίσημου API των WebSockets των προγραμμάτων περιήγησης.
| Δυνατότητα | Υποστήριξη από το εργαλείο |
|---|---|
| Αποστολή/Λήψη μηνυμάτων κειμένου | Ναι |
| Εμφάνιση μεγέθους δυαδικών μηνυμάτων | Ναι |
| Προσαρμοσμένες κεφαλίδες χειραψίας | Όχι |
| Παράκαμψη σφαλμάτων πιστοποιητικού | Όχι |
| Παράκαμψη κανόνων πρόσβασης διακομιστή (CORS/Origin) | Όχι |
| Εμφάνιση πλαισίων ελέγχου Ping/Pong | Όχι |
| Εμφάνιση κατακερματισμού σε επίπεδο δικτύου | Όχι |
Προστασία προσωπικών δεδομένων και επεξεργασία
Η προστασία των δεδομένων σας εκτελείται με βάση την αρχή της τοπικής επεξεργασίας. Τίποτα δεν μεταφορτώνεται στο BroBroGo ούτε αποθηκεύεται από αυτήν τη σελίδα. Η διεύθυνση και τα μηνύματά σας πηγαίνουν απευθείας από το πρόγραμμα περιήγησής σας στον διακομιστή WebSocket που επιλέγετε.
Πρέπει να αφαιρείτε προσωπικά αναγνωριστικά και ευαίσθητες νομικές, οικονομικές ή υγειονομικές πληροφορίες πριν συνδεθείτε. Το πρόγραμμα περιήγησής σας στέλνει μηνύματα απευθείας στον διακομιστή που εισάγετε και αυτή η σελίδα δεν μπορεί να ελέγξει την καταγραφή ή τη διατήρηση αυτού του διακομιστή.
Συχνές Ερωτήσεις (FAQ)
Ποια δεδομένα WebSocket μπορώ να ελέγξω εδώ;
Μπορείτε να δείτε κάθε κείμενο ή δυαδικό μήνυμα που εκτίθεται από το πρόγραμμα περιήγησής σας, την κατεύθυνση, την ώρα και το μέγεθός του, καθώς και τον τελικό κωδικό κλεισίματος, την αιτία και την κατάσταση καθαρισμού. Οι σελίδες του προγράμματος περιήγησης δεν μπορούν να εκθέσουν θραύσματα σε επίπεδο δικτύου ή πλαίσια ελέγχου Ping και Pong.
Γιατί μια σύνδεση αποτυγχάνει ακόμα και όταν η διεύθυνση λειτουργεί αλλού;
Σε μια ασφαλή σελίδα, το πρόγραμμα περιήγησης ενδέχεται να απαιτεί wss://. Ο διακομιστής πρέπει επίσης να δέχεται συνδέσεις προγράμματος περιήγησης και την προέλευση της σελίδας. Αυτός ο πελάτης δεν μπορεί να προσθέσει προσαρμοσμένες κεφαλίδες χειραψίας, να παρακάμψει σφάλματα πιστοποιητικού ή να παρακάμψει τους κανόνες πρόσβασης του διακομιστή.
Μπορώ να δοκιμάσω με παραγωγή ή ευαίσθητα δεδομένα;
Χρησιμοποιήστε συνθετικά δεδομένα όποτε είναι δυνατόν. Αφαιρέστε ονόματα, στοιχεία λογαριασμού, νομικά αρχεία, οικονομικές πληροφορίες και πληροφορίες υγείας πριν από την αποστολή. Τα μηνύματα πηγαίνουν στον διακομιστή που επιλέγετε, του οποίου οι κανόνες καταγραφής και διατήρησης είναι εκτός ελέγχου αυτής της σελίδας.