Πίνακας Εξηγήσεων Κωδικών HTTP

Http κατάσταση κωδίκας Σημασία κωδικού κατάστασης
100 Ο πελάτης θα πρέπει να συνεχίσει να στέλνει το αίτημά του. Αυτή η προσωρινή απόκριση χρησιμοποιείται για να ειδοποιήσει τον πελάτη ότι ένα μέρος του αιτήματος του έχει ήδη παραληφθεί από τον server και δεν έχει απορριφθεί ακόμη. Ο πελάτης θα πρέπει να συνεχίσει να στέλνει το υπόλοιπο μέρος του αιτήματος ή, εάν το αίτημα έχει ολοκληρωθεί, να αγνοήσει αυτή την απόκριση. Ο server πρέπει να στείλει μια τελική απόκριση στον πελάτη αφού ολοκληρωθεί το αίτημα.
101 Ο server έχει κατανοήσει το αίτημα του πελάτη και θα ειδοποιήσει τον πελάτη μέσω της κεφαλίδας Upgrade για να χρησιμοποιήσει διαφορετικό πρωτόκολλο για την ολοκλήρωση του αιτήματος. Μετά την αποστολή αυτής της τελευταίας κενής γραμμής της απόκρισης, ο server θα αλλάξει σε αυτά τα πρωτόκολλα που ορίζονται στην κεφαλίδα Upgrade. Μόνο όταν η αλλαγή σε νέο πρωτόκολλο είναι πιο ευνοϊκή θα πρέπει να γίνονται παρόμοιες ενέργειες. Για παράδειγμα, η αλλαγή σε νέα έκδοση HTTP είναι πιο ευνοϊκή από την παλιά έκδοση ή η αλλαγή σε ένα πραγματικό και συγχρονισμένο πρωτόκολλο για τη μεταφορά πόρων που εκμεταλλεύονται αυτές τις δυνατότητες.
102 Κωδικός κατάστασης επεκτείνεται από το WebDAV (RFC 2518), που αντιπροσωπεύει ότι η επεξεργασία θα συνεχιστεί.
200 Το αίτημα ολοκληρώθηκε με επιτυχία, οι επιθυμητές κεφαλίδες ή το σώμα δεδομένων θα επιστραφούν με αυτή την απόκριση.
201 Το αίτημα έχει ολοκληρωθεί με επιτυχία και έχει δημιουργηθεί ένας νέος πόρος σύμφωνα με τις ανάγκες του αιτήματος, και το URI του έχει επιστραφεί με την κεφαλίδα Location. Αν δεν είναι δυνατή η άμεση δημιουργία του απαιτούμενου πόρου, θα πρέπει να επιστραφεί '202 Accepted'.
202 Ο server έχει αποδεχθεί το αίτημα αλλά δεν έχει επεξεργαστεί. Ακριβώς όπως μπορεί να απορριφθεί, αυτό το αίτημα μπορεί ή μπορεί να μην εκτελεστεί τελικά. Σε περιπτώσεις ασύγχρονης λειτουργίας, δεν υπάρχει πιο βολικός τρόπος από το να αποστείλει αυτόν τον κωδικό κατάστασης. Ο σκοπός της επανόδου με κωδικό κατάστασης 202 είναι να επιτρέψει στον server να αποδέχεται αιτήματα για άλλες διαδικασίες (για παράδειγμα, κάποια εργασία που εκτελείται καθημερινά), χωρίς να υποχρεώνεται ο πελάτης να διατηρεί τη σύνδεση με τον server έως ότου ολοκληρωθούν όλες οι επεξεργασίες. Η απόκριση που αποδέχεται την εκτέλεση του αιτήματος και επιστρέφει τον κωδικό κατάστασης 202 θα πρέπει επίσης να περιέχει πληροφορίες που υποδεικνύουν την τρέχουσα κατάσταση της επεξεργασίας, καθώς και δείκτες προς παρακολούθηση της κατάστασης της επεξεργασίας, ώστε οι χρήστες να μπορούν να εκτιμήσουν εάν η διαδικασία έχει ολοκληρωθεί.
203 Ο server έχει επεξεργαστεί το αίτημα με επιτυχία, αλλά οι μεταδεδομένες κεφαλίδες του σώματος δεν προέρχονται από τον αρχικό server, τουλάχιστον κατά τον ορισμό του. Η τρέχουσα πληροφορία μπορεί να είναι υποσύνολο ή υπέρσυνολο της αρχικής έκδοσης. Για παράδειγμα, τα μεταδεδομένα που περιλαμβάνουν πληροφορίες πόρων μπορεί να οδηγούν τον αρχικό server να γνωρίζει ότι τα μεταδεδομένα είναι υπερσύνολο. Η χρήση αυτού του κωδικού κατάστασης δεν είναι υποχρεωτική και θεωρείται κατάλληλη μόνο εάν η απάντηση, διαφορετικά, θα τον έχει επιστρέψει 200 OK.
204 Ο server έχει επεξεργαστεί το αίτημα με επιτυχία, αλλά δεν απαιτείται επιστροφή κανενός περιεχομένου οντότητας και επιθυμεί να επιστρέψει ενημερωμένες μεταδεδομένες πληροφορίες. Η απάντηση μπορεί να περιέχει νέες ή ενημερωμένες πληροφορίες μέσω του σώματος της οντότητας. Εάν υπάρχουν αυτές οι κεφαλίδες πληροφοριών, θα πρέπει να συμφωνούν με τις ζητούμενες μεταβλητές. Εάν ο πελάτης είναι πρόγραμμα περιήγησης, τότε ο περιηγητής του χρήστη θα πρέπει να διατηρεί τη σελίδα που έκανε το αίτημα, χωρίς να υπάρξει καμία οπτική αλλαγή στο έγγραφο, ακόμη και αν σύμφωνα με τον κανονισμό οι νέες ή οι ενημερωμένες πληροφορίες θα πρέπει να εφαρμοστούν στο έγγραφο της δραστηριότητας του χρήστη. Δεδομένου ότι οι αποκρίσεις 204 απαγορεύεται να περιλαμβάνουν οποιοδήποτε σώμα μηνύματος, πάντα τελειώνουν με την πρώτη κενή γραμμή μετά τις κεφαλίδες μηνυμάτων.
205 Ο server έχει επεξεργαστεί το αίτημα με επιτυχία και δεν έχει επιστρέψει κανένα περιεχόμενο. Ωστόσο, σε αντίθεση με την απάντηση 204, η απάντηση επιστρέφεται απαιτώντας από τον αιτούντα να επαναφέρει την εμφάνιση του εγγράφου. Αυτός ο κώδικας απάντησης χρησιμοποιείται κυρίως για να επαναφέρει τη φόρμα μετά την αποδοχή της εισόδου του χρήστη, ώστε οι χρήστες να μπορούν εύκολα να ξεκινήσουν μια νέα εισαγωγή. Όπως η απάντηση 204, αυτή η απόκριση απαγορεύεται να περιλαμβάνει οποιοδήποτε σώμα μηνύματος και τελειώνει με την πρώτη κενή γραμμή μετά τις κεφαλίδες μηνυμάτων.
206 Ο server έχει επεξεργαστεί με επιτυχία ένα μέρος του αιτήματος GET. Σαν το FlashGet ή το Thunder, τα εργαλεία λήψης HTTP χρησιμοποιούν αυτούς τους τύπους αποκρίσεων για να επιτρέψουν τη συνέχεια της λήψης ή να διαχωρίσουν ένα μεγάλο έγγραφο σε πολλά τμήματα για ταυτόχρονη λήψη. Αυτό το αίτημα πρέπει να περιλαμβάνει την κεφαλίδα Range για να υποδείξει το εύρος περιεχομένου που επιθυμεί ο πελάτης και μπορεί να περιλαμβάνει την κεφαλίδα If-Range ως όρο. Η απόκριση πρέπει να περιλαμβάνει τις κεφαλίδες: Content-Range για να δείξει το εύρος περιεχομένου που επιστρέφεται με αυτή την απόκριση; αν είναι Content-Type για multipart/byteranges, κάθε τμήμα multipart θα πρέπει να περιέχει την κεφαλίδα Content-Range για να δείξει το εύρος περιεχομένου αυτού του τμήματος. Εάν η απάντηση περιέχει Content-Length, η τιμή του πρέπει να ταιριάζει με το πραγματικό μέγεθος σε byte του περιεχομένου που έχει επιστραφεί. Date, ETag και/ή Content-Location, αν η ίδια αίτηση θα έπρεπε να είχε επιστρέψει κατάσταση 200. Expires, Cache-Control και/ή Vary, αν η τιμή τους μπορεί να διαφέρει από τις τιμές που αντιστοιχούν σε άλλες αποκρίσεις των προηγούμενων μεταβλητών. Εάν αυτή η απάντηση χρησιμοποιεί If-Range για έλεγχο ισχυρής μνήμης, τότε αυτή η απόκριση δεν θα πρέπει να περιλαμβάνει άλλες κεφαλίδες οντότητας; εάν η αίτηση της απόκρισης χρησιμοποίησε If-Range για έλεγχο αδύνατης μνήμης, τότε αυτή η απόκριση απαγορεύει να περιλαμβάνει άλλες κεφαλίδες οντότητας, ώστε να αποφεύγεται η ασυδοσία μεταξύ του περιεχομένου της μνήμης και των ενημερωμένων κεφαλίδων οντότητας. Διαφορετικά, αυτή η απάντηση θα πρέπει να περιλαμβάνει όλες τις κεφαλίδες οντότητας που θα έπρεπε να επιστρέφονται με την κατάσταση 200. Εάν οι κεφαλίδες ETag ή Last-Modified δεν ταιριάζουν ακριβώς, ο πελάτης δεν πρέπει να συνδυάσει το περιεχόμενο που επιστρέφεται με τον κωδικό κατάστασης 206 με οποιοδήποτε προηγούμενο περιεχόμενο που έχει αποθηκευτεί στη μνήμη. Οποιαδήποτε αποθήκευση που δεν υποστηρίζει τις κεφαλίδες Range και Content-Range απαγορεύεται να αποθηκεύει το περιεχόμενο που επιστρέφεται με κατάσταση 206.
207 Επεκτείνεται από το WebDAV (RFC 2518), που αντιπροσωπεύει ότι το επόμενο σώμα μηνύματος θα είναι ένα XML μήνυμα και ενδέχεται να περιλαμβάνει διάφορους ανεξάρτητους κωδικούς αποκρίσεων ανάλογα με τον αριθμό των προηγούμενων υποαιτημάτων.
300 Ο απαιτούμενος πόρος έχει μια σειρά διαθέσιμων επιλογών, καθεμιά εκ των οποίων έχει τη δική της συγκεκριμένη διεύθυνση και πληροφορίες υποστήριξης που οδηγούνται από τον περιηγητή. Ο χρήστης ή ο περιηγητής μπορεί να επιλέξει μια προτιμώμενη διεύθυνση για την ανακατεύθυνση. Εκτός αν πρόκειται για αίτημα HEAD, αυτή η απάντηση πρέπει να περιλαμβάνει μια οντότητα που περιέχει μια λίστα από χαρακτηριστικά πόρων και διευθύνσεις για να μπορέσουν οι χρήστες ή ο περιηγητής να επιλέξουν τον καταλληλότερο προορισμό. Η μορφή αυτής της οντότητας καθορίζεται από τη μορφή που ορίζεται από τον κεφαλίδα Content-Type. Ο περιηγητής μπορεί να κάνει την πιο κατάλληλη επιλογή σύμφωνα με τη μορφή της απάντησης και τις δικές του ικανότητες. Φυσικά, η προδιαγραφή RFC 2616 δεν καθορίζει πώς θα έπρεπε να γίνει η αυτόματη επιλογή. Αν ο server έχει ήδη μια προτιμώμενη επιλογή που έχει επιστραφεί, τότε αυτή η επιλογή πρέπει να υποδεικνύεται στο Location URI της απόκρισης, και ο περιηγητής μπορεί να το χρησιμοποιήσει ως αυτόματο προορισμό ανακατεύθυνσης. Επιπλέον, εκτός εάν δηλωθεί διαφορετικά, αυτή η απάντηση είναι επίσης αποθηκεύσιμη.
301 Ο ζητούμενος πόρος έχει μετακομίσει μόνιμα σε νέα θέση και κάθε μελλοντική αναφορά σε αυτόν τον πόρο θα πρέπει να χρησιμοποιεί μία από τις διευθύνσεις URI που επιστρέφονται με την απάντηση. Εάν είναι δυνατόν, οι πελάτες με δυνατότητα επεξεργασίας συνδέσμων θα πρέπει να αλλάξουν αυτόματα τη ζητούμενη διεύθυνση σε εκείνη που επαναλήφθηκε από τον server. Εκτός εάν καθορίστηκε διαφορετικά, αυτή η απάντηση είναι επίσης αποθηκεύσιμη. Η νέα μόνιμη URI θα πρέπει να επιστραφεί στο πεδίο Location της απάντησης. Εκτός εάν πρόκειται για αίτημα HEAD, η οντότητα της απάντησης πρέπει να περιέχει υπερσύνδεσμο προς τη νέα URI και μια σύντομη περιγραφή. Εάν αυτό το αίτημα δεν είναι GET ή HEAD, τότε ο περιηγητής θα απαγορεύσει την αυτόματη ανακατεύθυνση, εκτός και αν λάβει επιβεβαίωση από τον χρήστη, καθώς οι συνθήκες της αίτησης μπορεί να έχουν αλλάξει ως αποτέλεσμα. Σημειώστε ότι για ορισμένους περιηγητές που χρησιμοποιούν το πρωτόκολλο HTTP/1.0, εάν η POST αίτηση επιτύχει με απόκριση 301, η επόμενη αίτηση ανακατεύθυνσης θα γίνεται με μέθοδο GET.
302 Ο ζητούμενος πόρος απαντά προσωρινά από διαφορετική URI. Εφόσον αυτή η ανακατεύθυνση είναι προσωρινή, ο πελάτης θα πρέπει να συνεχίσει να στέλνει μελλοντικά αιτήματα στην αρχική διεύθυνση. Μόνο εάν έχουν καθοριστεί στο Cache-Control ή στο Expires, αυτή η απάντηση μπορεί να αποθηκευτεί. Η νέα προσωρινή URI θα πρέπει να επιστραφεί στο πεδίο Location της απάντησης. Εκτός εάν πρόκειται για αίτημα HEAD, η οντότητα της απάντησης πρέπει να περιέχει υπερσύνδεσμο προς τη νέα URI και μια σύντομη περιγραφή. Αν αυτό δεν είναι GET ή HEAD, τότε ο περιηγητής θα απαγορεύσει την αυτόματη ανακατεύθυνση, εκτός και αν λάβει επιβεβαίωση από τον χρήστη, καθώς οι συνθήκες της αίτησης μπορεί να έχουν αλλάξει. Σημειώστε ότι, ενώ τα πρότυπα RFC 1945 και RFC 2068 δεν επιτρέπουν στους πελάτες να αλλάξουν τη μέθοδο αίτησης κατά την ανακατεύθυνση, πολλοί υπάρχοντες περιηγητές θεωρούν την απάντηση 302 ως 303 και χρησιμοποιούν μέθοδο GET για πρόσβαση στη URI που αναφέρεται σε Location, αγνοώντας τη μέθοδο της αρχικής αίτησης. Οι κωδικοί κατάστασης 303 και 307 ενσωματώθηκαν για να δηλώσουν ρητά τι αναμένει ο server σε σχέση με την αντίδραση του πελάτη.
303 Η απόκριση που αντιστοιχεί στην τρέχουσα αίτηση είναι διαθέσιμη σε άλλη URI και ο πελάτης θα πρέπει να προσεγγίσει αυτόν τον πόρο με μέθοδο GET. Η ύπαρξη αυτής της μεθόδου είναι κυρίως για να επιτρέπει την ανακατεύθυνση της εξόδου POST από scripts σε ένα νέο πόρο. Αυτή η νέα URI δεν είναι υποκατάστατο του αρχικού πόρου. Σημειώστε ότι η απάντηση 303 απαγορεύεται να αποθηκευτεί. Φυσικά, η δεύτερη αίτηση (ανακατεύθυνση) μπορεί να αποθηκευτεί. Η νέα URI θα πρέπει να επιστραφεί στο πεδίο Location της απάντησης. Εκτός εάν πρόκειται για αίτημα HEAD, η οντότητα της απάντησης πρέπει να περιέχει υπερσύνδεσμο προς τη νέα URI και μια σύντομη περιγραφή. Σημειώστε ότι πολλοί περιηγητές πριν την έκδοση HTTP/1.1 δεν κατανοούν σωστά την κατάσταση 303. Εάν χρειάζεται να ληφθεί υπόψη η αλληλεπίδραση με αυτούς τους περιηγητές, ο κωδικός κατάστασης 302 θα πρέπει να είναι επαρκής, καθώς η πλειονότητα των περιηγητών επεξεργάζεται την απόκριση 302 με τον ίδιο τρόπο που το πρότυπο απαιτεί οι πελάτες να επεξεργάζονται την απόκριση 303.
304 Εάν ο πελάτης έχει αποστείλει μια αίτηση GET με προϋποθέσεις και αυτή η αίτηση έχει γίνει αποδεκτή, και το περιεχόμενο του εγγράφου (από την τελευταία επίσκεψη ή σύμφωνα με τις προϋποθέσεις της αίτησης) δεν έχει αλλάξει, τότε ο server θα πρέπει να επιστρέψει αυτή την κατάσταση. Η απάντηση του 304 απαγορεύεται να περιλαμβάνει σώμα, έτσι πάντα τελειώνει με την πρώτη κενή γραμμή μετά τις κεφαλίδες. Αυτή η απόκριση πρέπει να περιλαμβάνει τις κεφαλίδες: Date, εκτός εάν ο server δεν έχει ρολόι. Εάν ο server χωρίς ρολόι ακολουθεί αυτούς τους κανόνες, τότε ο διακομιστής μεσολάβησης και τον πελάτη μπορεί να προσθέσει το πεδίο Date στις κεφαλίδες απόκρισης κατά τη λήψη (όπως καθορίζεται στο RFC 2068), και το σύστημα caching θα λειτουργεί κανονικά. Εtag και/ή Content-Location, εάν η αίτηση θα έπρεπε να έχει επιστρέψει μια κατάσταση 200. Expires, Cache-Control και/ή Vary, αν οι τιμές τους ενδέχεται να διαφέρουν από τις τιμές των αντίστοιχων προηγούμενων αποκρίσεων. Εάν η αίτηση της απάντησης έχει χρησιμοποιήσει έλεγχο μνήμης ισχυρής θύρας, τότε αυτή η απόκριση δεν θα πρέπει να περιλαμβάνει άλλες οντότητες. Διαφορετικά, (για παράδειγμα, μια αίτηση GET με προϋποθέσεις που χρησιμοποιεί αδύνατη μνήμη έλεγχος), αυτή η απόκριση απαγορεύει την συμπερίληψη άλλων οντοτήτων. Αυτό αποφεύγει τα συγκρουσμένα σώματα με πληροφορίες οντότητας που έχουν ενημερωθεί. Εάν μια 304 απάντηση υποδεικνύει ότι το περιεχόμενο μιας οντότητας δεν έχει αποθηκευτεί, τότε το σύστημα μνήμης πρέπει να αγνοήσει αυτή την απόκριση και να επανέλθει σε μια αίτηση χωρίς περιορισμούς. Εάν ληφθεί μια απάντηση 304 που απαιτεί την ενημέρωση μιας λίστας αποθηκευμένων, το σύστημα μνήμης πρέπει να ενημερώσει όλη τη λίστα για να αποτυπώσει όλες τις ενημερωμένες τιμές.
305 Ο ζητούμενος πόρος πρέπει να προσπελαστεί μέσω της καθορισμένης διαμεσολάβησης. Η διεύθυνση του καθορισμένου διαμεσολαβητή θα παρασχεθεί στο πεδίο Location της απάντησης να επαναλάβει μια δεύτερη αίτηση μέσω αυτής της διαμεσολάβησης για να έχει πρόσβαση στον πόρο. Μόνο ο αρχικός server μπορεί να δημιουργήσει απόκριση 305. Σημειώστε ότι το RFC 2068 δεν αναγνωρίζει ρητά την απάντηση 305 ως απάντηση σε μια μεμονωμένη αίτηση και μπορεί να δημιουργηθεί μόνο από τον αρχικό server. Η παράβλεψη αυτών των περιορισμών ενδέχεται να έχει σοβαρές συνέπειες ασφαλείας.
306 Στην τελευταία προδιαγραφή, ο κωδικός κατάστασης 306 δεν χρησιμοποιείται πλέον.
307 Ο ζητούμενος πόρος απαντά προσωρινά από διαφορετική URI. Εφόσον αυτή η ανακατεύθυνση είναι προσωρινή, ο πελάτης θα πρέπει να συνεχίσει να στέλνει μελλοντικά αιτήματα στην αρχική διεύθυνση. Μόνο εάν καθορίστηκε στο Cache-Control ή στο Expires, αυτή η απάντηση μπορεί να αποθηκευτεί. Η νέα προσωρινή URI θα πρέπει να επιστραφεί στο πεδίο Location της απάντησης. Εκτός εάν πρόκειται για αίτημα HEAD, η οντότητα της απάντησης πρέπει να περιέχει υπερσύνδεσμο προς τη νέα URI και μια σύντομη περιγραφή. Δεδομένου ότι ορισμένοι περιηγητές δεν αναγνωρίζουν την απάντηση 307, ενδέχεται να χρειαστεί να συμπεριληφθούν οι απαραίτητες πληροφορίες για να μπορέσουν οι χρήστες να κατανοήσουν και να ζητήσουν πρόσβαση στη νέα URI. Εάν αυτό δεν είναι GET ή HEAD, τότε ο περιηγητής θα απαγορεύσει την αυτόματη ανακατεύθυνση, εκτός και αν λάβει επιβεβαίωση από τον χρήστη, καθώς οι συνθήκες της αίτησης μπορεί να έχουν αλλάξει.
400 1. Σημασιολογικό σφάλμα, η τρέχουσα αίτηση δεν μπορεί να γίνει κατανοητή από τον server. Εκτός και αν είναι αλλαγμένο, ο πελάτης δεν πρέπει να υποβάλει ξανά αυτή την αίτηση. 2. Σφάλμα παραμέτρων αιτήματος.
401 Η τρέχουσα αίτηση απαιτεί την επιβεβαίωση του χρήστη. Αυτή η απάντηση πρέπει να περιέχει μια κατάλληλη κεφαλίδα WWW-Authenticate για να ζητήσει πληροφορίες από τον χρήστη. Ο πελάτης μπορεί να επαναλάβει την υποβολή μιας αίτησης που περιέχει σωστές πληροφορίες κεφαλίδας Authorization. Εάν η τρέχουσα αίτηση έχει ήδη περιλάβει έγγραφα πιστοποίησης Authorization, τότε η απάντηση 401 υποδηλώνει ότι ο server έχει απορρίψει την πιστοποίηση. Εάν οι εκπρόσωποι της απάντησης 401 περιέχουν το ίδιο ερώτημα ταυτοποίησης όπως και η προηγούμενη απάντηση και ο περιηγητής έχει προσπαθήσει τουλάχιστον μία φορά τη διαδικασία ταυτοποίησης, τότε ο περιηγητής θα πρέπει να παρουσιάσει τις πληροφορίες που υπάρχουν στην απάντηση, καθώς μπορεί να περιέχουν σχετικές πληροφορίες διάγνωσης. Βλ. RFC 2617.
402 Αυτός ο κωδικός κατάστασης διατηρείται για μελλοντικές πιθανές ανάγκες.
403 Ο server έχει κατανοήσει το αίτημα, αλλά αρνείται να το εκτελέσει. Σε αντίθεση με την απάντηση 401, η πιστοποίηση δεν προσφέρει καμία βοήθεια και αυτό το αίτημα δεν θα πρέπει να υποβληθεί εκ νέου. Εάν αυτό δεν είναι αίτημα HEAD και ο server θέλει να διευκρινίσει γιατί το αίτημα δεν μπορεί να εκτελεστεί, τότε θα πρέπει να περιγράψει την αιτία της άρνησης μέσα στην οντότητα. Ο server μπορεί επίσης να επιστρέψει μια απάντηση 404 εάν δεν επιθυμεί να επιτρέψει στον πελάτη να αποκτήσει οποιαδήποτε πληροφορία.
404 Η αίτηση απέτυχε, ο ζητούμενος πόρος δεν βρέθηκε στον server. Δεν υπάρχουν πληροφορίες για να πει στον χρήστη αν αυτή η κατάσταση είναι προσωρινή ή μόνιμη. Εάν ο server γνωρίζει την κατάσταση, θα πρέπει να χρησιμοποιεί τον κωδικό κατάστασης 410 για να ενημερώσει ότι ένας παλιός πόρος έχει καταστεί μόνιμα μη διαθέσιμος λόγω εσωτερικών ρυθμίσεων και δεν υπάρχει καμία διεύθυνση ανακατεύθυνσης. Ο κωδικός κατάστασης 404 χρησιμοποιείται ευρέως όταν ο server δεν επιθυμεί να αποκαλύψει γιατί η αίτηση απορρίπτεται ή δεν υπάρχουν κατάλληλες απαντήσεις διαθέσιμες.
405 Η μέθοδος αίτησης που καθορίζεται στη γραμμή αίτησης δεν μπορεί να χρησιμοποιηθεί για να ζητήσει τον αντίστοιχο πόρο. Αυτή η απάντηση θα πρέπει να επιστρέφει μια κεφαλίδα Allow ώστε να δηλώσει τη λίστα των μεθόδων αίτησης που μπορεί να δεχθεί ο τρέχων πόρος. Δεδομένου ότι οι μέθοδοι PUT και DELETE εκτελούν εγγραφές στους πόρους του server, οι περισσότερες ιστοσελίδες δεν υποστηρίζουν ή δεν επιτρέπουν αυτές τις μεθόδους από προεπιλογή, επιστρέφοντας 405 για αυτά τα αιτήματα.
406 Τα χαρακτηριστικά περιεχομένου του ζητούμενου πόρου δεν μπορούν να καλύψουν τις προϋποθέσεις στην κεφαλίδα αίτησης, έτσι ώστε να μην μπορεί να παραχθεί σώμα απάντησης. Εκτός αν είναι αίτημα HEAD, αυτή η απάντηση θα πρέπει να επιστρέψει μια οντότητα που περιέχει μια λίστα δυνάμει χαρακτηριστικών και διευθύνσεων που οι χρήστες ή οι περιηγητές μπορούν να επιλέξουν. Η μορφή της οντότητας καθορίζεται από τον τύπο μέσων που ορίζεται στην κεφαλίδα Content-Type. Οι περιηγητές μπορούν να κάνουν την καλύτερη επιλογή με βάση τη μορφή και τις δυνατότητές τους. Ωστόσο, η προδιαγραφή δεν ορίζει καμία πρότυπη επιλογή για την αυτόματη επιλογή αυτού του τύπου.
407 Παρόμοιο με την απάντηση 401, εκτός από το ότι ο πελάτης πρέπει να πρέπει να επαληθεύσει με τον διαμεσολαβητή. Ο διαμεσολαβητής πρέπει να επιστρέψει υλικό Proxy-Authenticate για ερωτήσεις ταυτοποίησης. Ο πελάτης μπορεί να επιστρέψει ένα κεφάλι Proxy-Authorization για να επαληθευτεί. Βλ. RFC 2617.
408 Η αίτηση υπερέβη το χρόνο αναμονής. Ο πελάτης δεν ολοκλήρωσε την αποστολή μια αίτησης μέσα στην προκαθορισμένη από τον server αναμονή. Ο πελάτης μπορεί να υποβάλλει ξανά αυτή την αίτηση οποιαδήποτε στιγμή χωρίς αλλαγές.
409 Η αίτηση δεν μπορεί να ολοκληρωθεί λόγω μιας σύγκρουσης με την τρέχουσα κατάσταση του ζητούμενου πόρου. Αυτός ο κωδικός επιτρέπεται να χρησιμοποιηθεί μόνο όταν ο χρήστης φαίνεται ότι μπορεί να λύσει τη σύγκρουση και θα υποβάλει μια νέα αίτηση. Η απόκριση θα πρέπει να περιέχει αρκετές πληροφορίες για να επισημάνει την προέλευση της σύγκρουσης. Η σύγκρουση συμβαίνει συνήθως κατά την επεξεργασία PUT αιτημάτων. Για παράδειγμα, σε περιβάλλον ελέγχου εκδόσεων, μια αίτηση PUT για την υποβολή τροποποίησης σε έναν συγκεκριμένο πόρο μπορεί να έχει πληροφορίες έκδοσης που συγκρούονται με κάποιον προηγούμενο αίτημα (τρίτο μέρος) από το οποίο προκύπτει ότι ο server πρέπει να επιστρέψει ένα σφάλμα 409 ενημερώνοντας τον χρήστη ότι η αίτηση δεν μπορεί να ολοκληρωθεί. Σε αυτή την περίπτωση, οι πληροφορίες της απάντησης ενδέχεται να περιέχουν μια σύγκριση μεταξύ δύο συγκρουόμενων εκδόσεων ώστε ο χρήστης να μπορέσει να υποβάλει ξανά μια συγχωνευμένη νέα έκδοση.
410 Ο ζητούμενος πόρος δεν είναι πλέον διαθέσιμος στον server και δεν υπάρχει καμία γνωστή διεύθυνση ανακατεύθυνσης. Αυτή η κατάσταση θα πρέπει να θεωρηθεί μόνιμη. Εάν είναι δυνατόν, οι πελάτες που έχουν τη δυνατότητα επεξεργασίας συνδέσμων θα πρέπει, εφόσον ερωτηθούν για τη συγκατάθεση του χρήστη, να διαγράψουν όλες τις αναφορές προς αυτή την διεύθυνση. Εάν ο server δεν γνωρίζει ή δεν μπορεί να προσδιορίσει αν η κατάσταση είναι μόνιμη, θα πρέπει να χρησιμοποιηθεί ο κωδικός κατάστασης 404. Εκτός εάν καθορίστηκε διαφορετικά, αυτή η απάντηση είναι αποθηκεύσιμη. Ο σκοπός της απάντησης 410 είναι κυρίως να βοηθήσει τους διαχειριστές της ιστοσελίδας, να ενημερώσουν τους χρήστες ότι ο πόρος δεν είναι πλέον διαθέσιμος και ο server θέλει να διαγράψει όλους τους απομακρυσμένους συνδέσμους προς αυτόν τον πόρο. Συμβαίνει συχνά σε υπηρεσίες χρονικών ή προστιθέμενων αξιών. Επίσης, η απάντηση 410 χρησιμοποιείται για να ενημερώσει τους πελάτες ότι στον τρέχοντα ιστότοπο του server, ορισμένοι πόροι που ανήκαν σε κάποιον δεν είναι πια διαθέσιμοι. Δεδομένου αυτού, εναπόκειται στον server να αποφασίσει αν θα σηματοδοτήσει όλους τους μόνιμα μη διαθέσιμους πόρους ως '410 Gone' και πόσο καιρό θα διατηρήσει αυτή την ένδειξη.
411 Ο server αρνείται να αποδεχθεί τη αίτηση αν δεν υπάρχει καθορισμένο περιεχόμενο μήκους κεφαλίδας. Μετά την προσθήκη μιας έγκυρης κεφαλίδας Content-Length που προσδιορίζει το μήκος του σώματος του αιτήματος, ο πελάτης μπορεί να υποβάλει ξανά την αίτηση.
412 Ο server αποτυγχάνει να εκπληρώσει μία ή πολλές από τις προϋποθέσεις που ορίζονται στις κεφαλίδες του αιτήματος. Αυτός ο κωδικός κατάστασης επιτρέπει στον πελάτη να θέσει προϋποθέσεις στον μετα-πληροφοριακό έλεγχο στήριξης κατά τη λήψη πόρων, ώστε να αποφευχθεί η εφαρμογή της μεθόδου αίτησης σε πόρους που επιθυμούνται να εξαιρεθούν.
413 Ο server αρνείται να επεξεργαστεί την τρέχουσα αίτηση, επειδή το μέγεθος των δεδομένων της οντότητας που κατατέθηκαν είναι μεγαλύτερο από το εύρος που είναι διατεθειμένος ή ικανός να επεξεργαστεί ο server. Σε αυτή την περίπτωση, ο server μπορεί να κλείσει τη σύνδεση για να αποτρέψει τον πελάτη από το να συνεχίσει να στέλνει αυτή την αίτηση. Εάν αυτή η κατάσταση είναι προσωρινή, ο server θα πρέπει να επιστρέψει την κεφαλίδα Retry-After για να ενημερώσει τον πελάτη πότε μπορεί να ξαναδοκιμάσει.
414 Η URI του αιτήματος υπερβαίνει το μήκος που είναι ικανός να ερμηνεύσει ο server, έτσι ο server αρνείται να εξυπηρετήσει την αίτηση. Αυτό είναι σχετικά σπάνιο, αλλά συνήθως συμβαίνει σε καταστάσεις όπως: η υποβολή που θα έπρεπε να χρησιμοποιεί τη μέθοδο POST έχει γίνει μέθοδος GET, με αποτέλεσμα η συμβολοσειρά ερωτήματος (Query String) να είναι πολύ μακριά. URI "μαύρη τρύπα" ανακατεύθυνσης, για παράδειγμα, όταν κάθε ανακατεύθυνση περιλαμβάνει την παλιά URI ως τμήμα της νέας, οδηγήσουν σε υπερβολική διάρκεια ων ανακατεύθυνσης. Ο πελάτης προσπαθεί να εκμεταλλευτεί αδυναμίες ασφαλείας που υπάρχουν στους server. Οι servers που δεν εμφανίζουν τέτοια αδυναμία, θα πρέπει να επιστρέφουν κωδικό κατάστασης 414.
415 Για τη μέθοδο του τρέχοντος αιτήματος και το ζητούμενο πόρο, τα δεδομένα που υποβλήθηκαν στην αίτηση δεν είναι σε μορφή που υποστηρίζεται από τον server, κόβοντας έτσι την αίτηση.
416 Εάν το αίτημα περιέχει κεφαλίδα Range και κανένα από τα καθορισμένα εύρη δεν αλληλοεπικαλύπτεται με τα διαθέσιμα εύρη του περιεχομένου που είναι διαθέσιμο στην τρέχουσα πηγή και εάν δεν καθορίστηκε την κεφαλίδα If-Range στην αίτηση, τότε ο server θα πρέπει να επιστρέψει τον κωδικό κατάστασης 416. Αν η Range χρησιμοποιεί τα byte του γάλατος, αυτός ο τύπος ζητάται εάν η αρχική θέση του πρώτου byte στα καθορισμένα εύρη ξεπερνά το μήκος της τρέχουσας πηγής. Ο server θα πρέπει επίσης να συμπεριλαμβάνει μια κεφαλίδα οντότητας Content-Range ώστε να δηλώνει τη διάρκεια του τρέχοντος πόρου. Αυτή η απόκριση απαγορεύεται να χρησιμοποιεί multipart/byteranges ως Content-Type.
417 Η αναμενόμενη περιεχόμενη που καθορίζεται στην κεφαλίδα Expect δεν μπορεί να πληρωθεί από τον server ή ο server είναι διαμεσολαβητής και υπάρχουν σαφείς ενδείξεις ότι το περιεχόμενο Expected δεν μπορεί να πληρωθεί στον επόμενο κόμβο στο δίκτυο.
421 Ο αριθμός των συνδέσεων από την τρέχουσα διεύθυνση IP του πελάτη στον server έχει ξεπεράσει το μέγιστο αριθμό που επιτρέπεται από τον server. Στην κατηγορία αυτή, η διεύθυνση IP αναφέρεται στη διεύθυνση του πελάτη που βλέπουν οι server (π.χ. διεύθυνση πύλης ή διαμεσολάβησης του χρήστη). Σε αυτή την περίπτωση, η καταμέτρηση της σύνδεσης μπορεί να περιλαμβάνει περισσότερους από έναν τελικούς χρήστες.
422 Η μορφή του αιτήματος είναι σωστή, αλλά δεν μπορεί να αποκριθεί λόγω σημαντικών σφαλμάτων. (RFC 4918 WebDAV) 423 Lockedο τρέχων πόρος έχει κλειδώσει (RFC 4918 WebDAV).
424 Η αίτηση απέτυχε λόγω σφάλματος της προηγούμενης αίτησης, όπως την PROPPATCH. (RFC 4918 WebDAV)
425 Ορίζεται στο σχέδιο WebDav Advanced Collections, αλλά δεν εμφανίζεται στην προδιαγραφή πρωτοκόλλου WebDAV (RFC 3658).
426 Ο πελάτης θα πρέπει να αναβαθμίσει σε TLS/1.0. (RFC 2817)
449 Επεκτείνεται από τη Microsoft, υποδεικνύει ότι η αίτηση πρέπει να επικαλεστεί ξανά αφού ολοκληρωθούν οι κατάλληλες ενέργειες.
500 Ο server συνάντησε μια απροσδόκητη κατάσταση, που του ευθύνησε να ολοκληρώσει την επεξεργασία του αιτήματος. Γενικά, αυτό το πρόβλημα προκύπτει σε περιπτώσεις σφάλματος προγραμματισμού στον server.
501 Ο server δεν υποστηρίζει μια συγκεκριμένη λειτουργία που απαιτείται από την τρέχουσα αίτηση. Όταν ο server δεν αναγνωρίζει τη μέθοδο της αίτησης και δεν μπορεί να υποστηρίξει τα αιτήματα για κανέναν πόρο.
502 Η λειτουργία του server ως πύλη ή διαμεσολαβητής προσπάθησε να εκτελέσει την αίτηση, λαμβάνοντας μια άκυρή απόκριση από τον upstream server.
503 Ο server αυτή τη στιγμή δεν είναι σε θέση να επεξεργαστεί την αίτηση, συνήθως λόγω προσωρινής συντήρησης του server ή υπερφόρτωσης. Αυτή η κατάσταση είναι προσωρινή και θα αποκατασταθεί αργότερα. Εάν είναι δυνατόν να ληφθεί υπόψη ο χρονικός καθυστερημένης, μπορεί να επιστραφεί μια κεφαλίδα Retry-After για να δείξει αυτή την καθυστέρηση. Εάν δεν δοθεί η πληροφορία Retry-After, τότε ο πελάτης πρέπει να την επεξεργαστεί ως απόκριση 500. Σημειώστε: η ύπαρξη κωδικού κατάστασης 503 δεν υποδηλώνει ότι ο server υποχρεούται να τον χρησιμοποιήσει όταν είναι υπερφορτωμένος. Ορισμένοι servers απλώς θέλουν να απορρίψουν τη σύνδεση από τον πελάτη.
504 Όταν ο server λειτουργεί ως πύλη ή διαμεσολαβητής και αποτυγχάνει να λάβει την απάντηση από τον upstream server (server που προσδιορίζεται από URI, π.χ. HTTP, FTP, LDAP) ή τον auxiliary server (π.χ. DNS) εγκαίρως. Σημειώστε ότι ορισμένοι servers μεσολάβησης μπορεί να επιστρέψουν σφάλματα 400 ή 500 όταν διαρκεί η DNS αναζήτηση).
505 Ο server δεν υποστηρίζει ή αρνείται να υποστηρίξει την έκδοση HTTP που χρησιμοποιείται στην αίτηση. Αυτό υποδηλώνει ότι ο server δεν μπορεί ή δεν επιθυμεί να χρησιμοποιήσει την ίδια έκδοση με τον πελάτη. Η απάντηση θα πρέπει να περιέχει μια περιγραφή γιατί η έκδοση δεν υποστηρίζεται και τις εκδόσεις στους οποίες ο server υποστηρίζει.
506 Επέκταση από το "Διαφανές Πρωτόκολλο Συμφωνίας Περιεχομένου" (RFC 2295) υποδηλώνει ότι ο server έχει εσωτερικά σφάλματα ρυθμίσεων: Ο ζητούμενος πόρος παραμέτρου παλαιότερων διαπραγματεύσεων είναι ρυθμισμένος να χρησιμοποιεί τον εαυτό του στην διαφανή συμφωνία περιεχομένου και επομένως δεν είναι κατάλληλος για εστιάσεις σε μια διαδικασία διαπραγμάτευσης.
507 Ο server δεν μπορεί να αποθηκεύσει το περιεχόμενο που απαιτείται για την ολοκλήρωση της αίτησης. Αυτή η κατάσταση θεωρείται προσωρινή. WebDAV (RFC 4918)
509 Ο server έχει φτάσει το όριο εύρους ζώνης. Αυτό δεν είναι επίσημος κωδικός κατάστασης, αλλά είναι ευρέως χρησιμοποιούμενος.
510 Η απαιτούμενη πολιτική για την απόκτηση πόρων δεν έχει πληρωθεί. (RFC 2774)

HTTP κατάσταση κωδίκων αναλυτικά πίνακα - Σε βάθος κατανόηση των κοινών κωδικών κατάστασης HTTP

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

Συνηθισμένοι HTTP κωδικοί κατάστασης αναλυτικά

Τα παρακάτω είναι μερικοί κοινές κωδικοί κατάστασης HTTP και οι σημασίες τους, μπορείτε να τα ανατρέξετε για να κατανοήσετε γρήγορα την κατάσταση απάντησης του server:

Κωδικός κατάστασης Περιγραφή Κοινές σκηνές
200 OK Η αίτηση ολοκληρώθηκε με επιτυχία, ο server επιστρέφει τον ζητούμενο πόρο.
301 Moved Permanently Ο ζητούμενος πόρος έχει μετακομίσει μόνιμα σε μια νέα θέση.
302 Found Ο ζητούμενος πόρος έχει μετακομίσει προσωρινά σε άλλη θέση.
400 Bad Request Η αίτηση που έστειλε ο πελάτης έχει σφάλμα, ο server δεν μπορεί να την κατανοήσει.
401 Unauthorized Η αίτηση χρειάζεται επιβεβαίωση του χρήστη, δεν παρέχεται έγκυρη ταυτοποίηση.
403 Forbidden Ο server αρνείται την αίτηση, ο πελάτης δεν έχει αρκετά δικαιώματα για να έχει πρόσβαση στον πόρο.
404 Not Found Ο ζητούμενος πόρος δεν βρέθηκε στον server.
500 Internal Server Error Ο server συνάντησε μια απροσδόκητη κατάσταση που δεν μπορεί να εκπληρώσει την αίτηση.
502 Bad Gateway Ο server ως πύλη ή διαμεσολαβητής έλαβε άκυρη απόκριση.
503 Service Unavailable Ο server δεν μπορεί να επεξεργαστεί την αίτηση αυτή τη στιγμή, συνήθως λόγω υπερφόρτωσης ή συντήρησης.
504 Gateway Timeout Ο server ως πύλη ή διαμεσολαβητής δεν έλαβε έγκαιρα την αίτηση.

Πώς να χρησιμοποιήσετε το εργαλείο αναζήτησης κωδικών κατάστασης HTTP;

Μπορείτε να χρησιμοποιήσετε τη δυνατότητα αναζήτησης του εργαλείου για να βρείτε και να κατανοήσετε γρήγορα τους κωδικούς κατάστασης HTTP, βοηθητικά κατά την ανάπτυξη και την αποσφαλμάτωση:

  1. Εισάγετε κωδικό κατάστασης: Εισάγετε τον κωδικό κατάστασης HTTP στο πλαίσιο αναζήτησης (π.χ.: 200, 404, 500 κ.λπ.).
  2. Δείτε την περιγραφή: Τα αποτελέσματα αναζήτησης θα παρέχουν λεπτομερή περιγραφή του κωδικού κατάστασης, βοηθώντας σας να κατανοήσετε τη σημασία του και τα κατάλληλα σενάρια.
  3. Λάβετε προτάσεις: Για κοινούς κωδικούς σφάλματος (όπως 404, 500 κ.λπ.), το εργαλείο θα παρέχει κάποιες προτάσεις βελτίωσης, που θα σας βοηθήσει να επιλύσετε προβλήματα και να βελτιώσετε τη διαθεσιμότητα της ιστοσελίδας σας.

Συνηθισμένοι κωδικοί κατάστασης HTTP αναλυτικά

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

200 OK

Ο κωδικός κατάστασης 200 υποδεικνύει ότι η αίτηση ήταν επιτυχής και ο server επιστρέφει με επιτυχία τον ζητούμενο πόρο. Αυτός ο κωδικός είναι η πιο κοινή απάντηση, που υποδηλώνει ότι η επικοινωνία ανάμεσα στον πελάτη και τον server είναι ομαλή.

404 Not Found

Ο κωδικός κατάστασης 404 υποδηλώνει ότι ο πόρος που ζητήθηκε από τον πελάτη δεν βρέθηκε στον server. Συνήθως, ο χρήστης βλέπει μια προειδοποίηση "Η σελίδα δεν βρέθηκε". Οι τρόποι επίλυσης περιλαμβάνουν την επαλήθευση αν το URL της αίτησης είναι σωστό ή το επιπλέον τσεκ στα αρχεία του server για να διαπιστωθεί εάν υπήρχαν προβλήματα.

500 Internal Server Error

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

403 Forbidden

Ο κωδικός κατάστασης 403 υποδηλώνει ότι η αίτηση κατανοείται από τον server αλλά αρνείται να την εκτελέσει. Αυτή η κατάσταση συμβαίνει συνήθως όταν ο χρήστης δεν έχει επαρκή δικαιώματα πρόσβασης στον πόρο. Μπορείτε να ελέγξετε τις ρυθμίσεις αδειών των αρχείων για να βεβαιωθείτε ότι ο server επιτρέπει την πρόσβαση στον πόρο.

502 Bad Gateway

Ο κωδικός κατάστασης 502 υποδηλώνει ότι ο server σαν πύλη ή διαμεσολαβητής έλαβε άκυρη απόκριση. Συνήθως, αυτή η κατάσταση συμβαίνει όταν υπάρχουν προβλήματα επικοινωνίας μεταξύ του server αντιπροσώπου και του upstream server.

Γιατί είναι σημαντικό να κατανοήσετε τους κωδικούς κατάστασης HTTP;

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

Πώς να βελτιώσετε τους κωδικούς κατάστασης HTTP;

Μπορείτε να λάβετε αντίστοιχες βελτιωτικές δράσεις σύμφωνα με τους κωδικούς κατάστασης, όπως:

  • Για σφάλματα 404, μπορείτε να παρέχετε μια προσαρμοσμένη σελίδα σφαλμάτων που να βοηθά τους χρήστες να βρουν άλλο περιεχόμενο.
  • Για σφάλματα 500, μπορείτε να ελέγξετε τα αρχεία του server, να επιδιορθώσετε τον κώδικα ή τα ζητήματα ρύθμισης και να διασφαλίσετε τη διαθεσιμότητα της υπηρεσίας.
  • Βεβαιωθείτε ότι όλοι οι κωδικοί απόκρισης αντικατοπτρίζουν σωστά την πραγματική κατάσταση του server, ώστε να αποφεύγεται η σύγχυση χρηστών ή προγραμματιστών.

Συμπέρασμα

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

Τα ίχνη σας:
Επιλέξτε γλώσσα