Κωδικοί κατάστασης HTTP: Εμφανίζεται κάθε πιθανός κωδικός

Αποκάλυψη: Η υποστήριξή σας βοηθά στη διατήρηση της λειτουργίας του ιστότοπου! Κερδίζουμε ένα τέλος παραπομπής για ορισμένες από τις υπηρεσίες που προτείνουμε σε αυτήν τη σελίδα.


Contents

Βασικά στοιχεία κωδικού κατάστασης HTTP

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

Ψάχνετε για συγκεκριμένο κωδικό; Ρίξτε μια ματιά στον πίνακα περιεχομένων στα δεξιά!

Προτιμούμε να μην σκεφτόμαστε τον περίπλοκο χορό των αιτημάτων και των απαντήσεων που συμβαίνουν μεταξύ του προγράμματος περιήγησης ιστού του υπολογιστή μας και ενός διακομιστή που βρίσκεται πολύ μακριά, σε ένα κέντρο δεδομένων, που δεν φαίνεται (συνήθως) ακόμη και από τον διαχειριστή συστήματος του ιστότοπου και το προσωπικό πληροφορικής.

Αλλά, κάθε τόσο, συναντάμε ένα σφάλμα. Παίρνουμε μια έξυπνη σελίδα 404 Not Found με μια αστεία εικόνα. Ή λαμβάνουμε μια κενή σελίδα με μια σημείωση από το δικό μας πρόγραμμα περιήγησης που μας λέει για κάποιο άγνωστο σφάλμα 501.

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

Αλλά αν χρησιμοποιείτε έναν ιστότοπο – αυτό αλλάζει τα πάντα. Τα σφάλματα HTTP δεν είναι ενοχλητικά. Είναι ενοχλητικό. Είναι ενοχλητικά.

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

Πώς διορθώνετε τα σφάλματα HTTP; Πώς αποφεύγετε τα σφάλματα HTTP; Τι σημαίνουν όλοι αυτοί οι κωδικοί κατάστασης HTTP?

Αυτό καλύπτει αυτός ο οδηγός, μαζί με πληροφορίες σχετικά με:

  • καλοί κωδικοί κατάστασης HTTP (αυτοί που συνήθως δεν βλέπετε)
  • χρήσιμοι κωδικοί κατάστασης HTTP
  • τι είδους ανακατευθύνσεις πρέπει να χρησιμοποιείτε (και γιατί).

Αλλά πρώτα, για να κατανοήσετε τους κωδικούς κατάστασης HTTP, πρέπει πρώτα να καταλάβετε πώς λειτουργεί το HTTP.

Αιτήματα και απαντήσεις HTTP

Το HTTP σημαίνει “HyperText Transfer Protocol”.

Τι είναι ένα πρωτόκολλο?

Όταν επιβιβαστείτε σε ένα ναυτικό πλοίο, υπάρχει ένας συγκεκριμένος τρόπος να κάνετε τα πράγματα. Πρώτα χαιρετίζετε τη σημαία και, στη συνέχεια, χαιρετίζετε τον αξιωματικό που είναι εν ενεργεία και μετά ζητάτε άδεια για επιβίβαση.

Αυτό είναι ένα πρωτόκολλο.

Ένα πρωτόκολλο είναι ένα σύνολο κανόνων για έναν συγκεκριμένο τύπο αλληλεπίδρασης.

Μερικές φορές ένα πρωτόκολλο είναι πολύ άκαμπτο και ορίζεται:

  • Για επιβίβαση σε πλοίο:
    • Χαιρετισμός σημαία
    • Χαιρετισμός αξιωματικού που βρίσκεται σε υπηρεσία
    • Ζητήστε άδεια για επιβίβαση.

Μερικές φορές τα πρωτόκολλα είναι λίγο πιο χαλαρά και άγραφα, αλλά εξακολουθούν να είναι γνωστά:

  • Όταν φτάσει η τούρτα γενεθλίων σας:
    • Περιμένετε όλοι να τελειώσουν
    • Κάνε μια ευχή
    • Σβήστε τα κεριά, κατά προτίμηση σε μία ανάσα.

Οι αλληλεπιδράσεις με υπολογιστή αφορούν πρωτόκολλα. Όταν δύο υπολογιστές (ή ένα δίκτυο υπολογιστών) μιλούν μεταξύ τους, πρέπει να έχουν ένα σύνολο καλά καθορισμένων κανόνων για την επικοινωνία.

Οι κανόνες για τον τρόπο με τον οποίο το πρόγραμμα περιήγησης ιστού του τοπικού υπολογιστή σας επικοινωνεί με τον διακομιστή ιστού που φιλοξενεί τον ιστότοπο που προσπαθείτε να δείτε είναι HTTP (HyperText Transfer Protocol).

Γιατί μεταφέρουμε το HyperText?

Αρχικά, οι ιστοσελίδες ήταν κυρίως έγγραφα. Μια «ιστοσελίδα» θεωρήθηκε ως πραγματική «σελίδα». Ένας ιστότοπος ήταν μια συλλογή εγγράφων. Η κύρια σελίδα για έναν ιστότοπο ήταν ένας «δείκτης» των διαθέσιμων εγγράφων.

Τι είδους έγγραφα; Έγγραφα υπερκειμένου.

Το υπερκειμένου σημαίνει απλώς ότι τα έγγραφα συνδέονται μεταξύ τους με «υπερσυνδέσμους». Σήμερα τους αποκαλούμε απλούς παλιούς «συνδέσμους» – είναι τόσο συνηθισμένοι τώρα που δεν τους αποκαλούμε «υπερ».

Σύνδεσμοι “υπερ” με δυνατότητα κλικ σε κείμενο – αυτή η ιδέα, η οποία είναι τόσο συνηθισμένη τώρα, ήταν τόσο επαναστατική όταν το inernet δημιουργήθηκε για πρώτη φορά που όλα πήραν το όνομά τους.

Η γλώσσα για τη σύνταξη αυτών των εγγράφων; Γλώσσα σήμανσης υπερκειμένου (HTML). Και το πρωτόκολλο για την αίτηση και τη λήψη αυτών των εγγράφων; HTTP.

Έτσι το HTTP είναι…

Το HTTP είναι το σύνολο κανόνων και διαδικασιών για τον τρόπο με τον οποίο ένα πρόγραμμα περιήγησης ιστού (ή άλλος “πελάτης”) ζητά πόρους από άλλον υπολογιστή (ο “διακομιστής”) και πώς αυτός ο άλλος υπολογιστής ανταποκρίνεται σε αυτά τα αιτήματα.

Αίτημα HTTP

Έτσι, όταν πληκτρολογείτε μια διεύθυνση, κάντε κλικ σε έναν σύνδεσμο ή διαφορετικά ανοίγετε μια ιστοσελίδα, το πρόγραμμα περιήγησής σας στέλνει ένα αίτημα σε κάποιον άλλο διακομιστή.

Ο στόχος του αιτήματος καθορίζεται από τη διεύθυνση URL και το σύστημα DNS. Το σύστημα DNS είναι θέμα για άλλη μια μέρα, αλλά βασικά – το DNS είναι ένα βιβλίο διευθύνσεων που ταιριάζει με τα ονόματα τομέα με συγκεκριμένες διευθύνσεις IP του υπολογιστή.

Ο στόχος του αιτήματος καθορίζεται από το όνομα τομέα και ολόκληρη η διεύθυνση URL είναι το πιο σημαντικό μέρος του αιτήματος – οτιδήποτε μετά το όνομα τομέα ενημερώνει τον διακομιστή για τον συγκεκριμένο πόρο που ζητείται. Το αίτημα περιέχει επίσης άλλες πληροφορίες όπως:

  • Ο τύπος αιτήματος. Τα δύο πιο συνηθισμένα είναι:
    • GET – “Παρακαλώ στείλτε μου αυτόν τον πόρο.”
    • POST – “Εδώ είναι μερικά δεδομένα για επεξεργασία.”
  • Πεδία κεφαλίδας – Προαιρετικά πεδία μεταδεδομένων που χρησιμοποιούνται για να ενημερώνουν τον διακομιστή για τον πελάτη (για παράδειγμα, τι είδους πρόγραμμα περιήγησης).
  • Body – Τα δεδομένα που αποστέλλονται από τον πελάτη (για χρήση με POST).

Ο διακομιστής λαμβάνει αυτό το αίτημα και (μετά από κάποια επεξεργασία) αποστέλλει μια απάντηση.

Απόκριση HTTP

Η πρώτη γραμμή μιας απόκρισης είναι η Κατάσταση HTTP.

Η γραμμή κατάστασης έχει δύο μέρη, έναν κωδικό αριθμού (όπως 200) και μια εξήγηση κειμένου (όπως επιτυχία).

Όταν όλα λειτουργούν καλά, λαμβάνετε την κατάσταση 200: Επιτυχία (την οποία δεν βλέπετε ποτέ ως ανθρώπινος χρήστης), στη συνέχεια ορισμένα δεδομένα κεφαλίδας (τα οποία επίσης δεν βλέπετε) και, στη συνέχεια, τον πόρο που ζητήσατε (αυτό είναι αυτό που βλέπετε ).

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

Όταν τα πράγματα δεν λειτουργούν τόσο καλά, ενδέχεται να δείτε ένα μήνυμα σχετικά με την κατάσταση. Συνήθως αυτό συμβαίνει όταν λαμβάνετε κάτι σαν κωδικό 404 ή 501. Αυτοί είναι κωδικοί σφάλματος. Κάτι πήγε στραβά.

Οι απαντήσεις με κωδικούς σφάλματος 404 ή 501 δεν επιστρέφουν με τον πόρο που ζητήσατε. Μερικές φορές επιστρέφουν με διαφορετικό πόρο (όπως η έξυπνη σελίδα 404). Μερικές φορές δεν υπάρχει καθόλου πόρος (δηλαδή όταν λαμβάνετε την κενή σελίδα του προγράμματος περιήγησης και το προεπιλεγμένο μήνυμα σφάλματος).

Υπάρχουν επίσης κωδικοί κατάστασης που λένε στο πρόγραμμα περιήγησης να κοιτάζει κάπου αλλού, όπως η ανακατεύθυνση 301. Αυτές οι απαντήσεις δεν έρχονται επίσης στον απαιτούμενο πόρο.

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

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

Κατηγορίες κωδικών κατάστασης

Ίσως έχετε παρατηρήσει ότι όλοι οι κωδικοί κατάστασης είναι τριψήφιοι αριθμοί. Παρατηρήσατε ότι το πρώτο ψηφίο είναι πάντα μεταξύ 1 και 5?

Οι κωδικοί κατάστασης ομαδοποιούνται σε πέντε «κλάσεις» κωδικών. Το σφάλμα 404: Not Found είναι μέρος της κατηγορίας κωδικών κατάστασης 400 (ή, μερικές φορές, 4xx). Κάθε τάξη περιλαμβάνει ένα συγκεκριμένο εύρος θεμάτων ή καταστάσεων.

  • 1xx – Πληροφοριακά – Πρόκειται για προσωρινές απαντήσεις που προορίζονται να χρησιμοποιηθούν ενώ ο διακομιστής συνεχίζει να επεξεργάζεται το αίτημα. Σπάνια χρησιμοποιούνται.
  • 2xx – Επιτυχία – Κωδικοί που χρησιμοποιούνται όταν τα πράγματα λειτουργούν όπως πρέπει. Οι διαφορετικοί κωδικοί επιτυχίας επιστρέφονται με βάση το τι, συγκεκριμένα, το αίτημα προσπαθούσε να κάνει.
  • 3xx – Ανακατεύθυνση – Κωδικοί που χρησιμοποιούνται για να πει στον πελάτη να αναζητήσει τον πόρο που ζητήθηκε κάπου αλλού.
  • 4xx – Σφάλμα πελάτη – Αυτοί οι κωδικοί λένε στον πελάτη ότι έκανε κάτι λάθος.
  • 5xx – Σφάλμα διακομιστή – Κωδικός για όταν κάτι στον διακομιστή δεν λειτουργεί όπως αναμένεται.

Θα καλύψουμε τους συγκεκριμένους κωδικούς από κάθε τάξη σε μεγαλύτερο βάθος στις δικές τους ενότητες.

Αντιμετώπιση κωδικών κατάστασης HTTP (και σφάλματος)

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

Κωδικός κατάστασης HTTP 1xx – Ενημερωτικό

Η γνώση είναι δύναμη. Οι πληροφορίες είναι απελευθερωτικές.

– Κόφι Ανάν

Οι κωδικοί κατάστασης HTTP στην τάξη 1xx προορίζονται να είναι προσωρινοί, αποστέλλονται από τον διακομιστή πριν αποσταλεί μια πλήρης και ολοκληρωμένη δεύτερη απάντηση.

Εισήχθησαν στο HTTP / 1.1, επομένως τα πρώιμα προγράμματα περιήγησης που εφαρμόζουν HTTP / 1.0 δεν μπορούν να τα χειριστούν και οι διακομιστές δεν πρέπει να τερματίζουν κωδικούς 1xx σε αυτές τις περιπτώσεις.

HTTP 100 Συνέχεια

Συνήθως μια ακολουθία απόκρισης αιτήματος είναι απλή. Υποβάλλεται, λαμβάνεται και απαντάται ένα μόνο αίτημα.

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

Σε αυτές τις περιπτώσεις, ο πελάτης (πρόγραμμα περιήγησης) ενδέχεται να στείλει το αρχικό αίτημα με μια κεφαλίδα που περιλαμβάνει το Expect: 100-συνέχεια.

Όταν συμβεί αυτό, ο διακομιστής θα λάβει το αρχικό αίτημα και – εάν όλα είναι εντάξει – να απαντήσει με την κατάσταση 100: Συνέχεια. Αυτό σηματοδοτεί τον πελάτη να ολοκληρώσει το αίτημα.

Εάν όλα δεν λειτουργούν εντάξει, ο διακομιστής θα στείλει μια αποτυχία προσδοκίας 417.

Πρωτόκολλα εναλλαγής HTTP 101

Ένας πελάτης μπορεί να ζητήσει από έναν διακομιστή να αλλάξει πρωτόκολλα, για παράδειγμα από HTTP / 1.1 σε HTTP / 2.0.

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

Επεξεργασία HTTP 102

Αυτός ο κωδικός χρησιμοποιείται μόνο με το WebDAV, το οποίο αποτελεί επέκταση του HTTP που παρέχει δυνατότητα χειρισμού αρχείων, κάπως παρόμοιο με το FTP (αν και πολύ διαφορετικό στην πραγματική εφαρμογή).

Ένα αίτημα WebDAV μπορεί να περιλαμβάνει πολλά δευτερεύοντα αιτήματα. Η κατάσταση 102: Επεξεργασία επιτρέπει στον πελάτη να γνωρίζει ότι ο διακομιστής έλαβε το αίτημα και εργάζεται σε αυτό, αλλά εξακολουθεί να έχει να κάνει. Αυτό εμποδίζει τον πελάτη να υποθέσει ότι το αίτημα χάθηκε και έληξε.

Κωδικός κατάστασης HTTP 2xx – Επιτυχία

Το μόνο που χρειάζεστε σε αυτήν τη ζωή είναι η άγνοια και η εμπιστοσύνη, και τότε η επιτυχία είναι σίγουρη.

-Μαρκ Τουαίην

Οι κωδικοί κατάστασης HTTP στην κλάση 2xx προορίζονται να χρησιμοποιηθούν όταν το αίτημα έχει ολοκληρωθεί όπως είχε προβλεφθεί.

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

HTTP 200 ΟΚ

Αυτή είναι η τυπική απάντηση για επιτυχημένα αιτήματα – είναι ο κωδικός κατάστασης που συνήθως θέλετε και περιμένετε.

Όταν το αίτημα είναι GET (ζητώντας έναν πόρο), η απάντηση θα περιλαμβάνει τον πόρο. Όταν το αίτημα είναι POST (ή άλλου τύπου), η απόκριση θα περιέχει έναν πόρο που περιγράφει ή περιέχει το αποτέλεσμα της ενέργειας.

Δημιουργήθηκε HTTP 201

Ορισμένα αιτήματα προορίζονται να δημιουργήσουν έναν νέο πόρο. Όταν ολοκληρωθούν με επιτυχία, η κατάσταση 201 αποστέλλεται για να δείξει ότι ο νέος πόρος έχει δημιουργηθεί. Αυτό χρησιμοποιείται συνήθως σε συνδυασμό με τον τύπο αιτήματος PUT.

Αποδεκτό HTTP 202

Το αίτημα έγινε αποδεκτό, αλλά δεν έγινε συνέχεια. Το αίτημα μπορεί να εκτελεστεί ή όχι.

HTTP 203 Μη έγκυρες πληροφορίες

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

HTTP 204 Χωρίς περιεχόμενο

Αυτό αποστέλλεται όταν ο διακομιστής επεξεργάστηκε με επιτυχία το αίτημα, αλλά δεν χρειάζεται να επιστρέψει περιεχόμενο. Τις περισσότερες φορές, αυτό συμβαίνει ως αποτέλεσμα ενός αιτήματος ΔΙΑΓΡΑΦΗΣ.

Όταν αποστέλλεται ένα αίτημα 204, ο πράκτορας χρήστη (ο πελάτης ή το πρόγραμμα περιήγησης ιστού) δεν πρέπει να αλλάξει την προβολή του.

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

HTTP 205 Επαναφορά περιεχομένου

Η απόκριση 205 είναι παρόμοια με το 204, αλλά ο πράκτορας χρήστη υποτίθεται ότι ανανεώνει την προβολή του στην προεπιλεγμένη κατάσταση του τρέχοντος εγγράφου.

Μερικό περιεχόμενο HTTP 206

Αυτό χρησιμοποιείται όταν ο διακομιστής στέλνει μόνο ένα τμήμα του πόρου που ζητήθηκε, επειδή ο χρήστης ζήτησε να λάβει μόνο ένα μέρος του πόρου.

Αυτό συμβαίνει όταν ένας πόρος είναι αρκετά μεγάλος, ή η σύνδεση αρκετά αναξιόπιστη, ότι ο πράκτορας χρήστη θέλει να διαιρέσει τον πόρο σε μια σειρά αιτημάτων “chunked”, όπως δεν έχει γίνει:

  • Πελάτης: Δώσε μου το πρώτο 1/4.
    • Διακομιστής: 206 Μερικό περιεχόμενο
  • Πελάτης: Δώσε μου το δεύτερο

    1/4.

    • Διακομιστής: 206 Μερικό περιεχόμενο.
  • Και ούτω καθεξής…
    • …και ούτω καθεξής.

Αυτά τα μερικά αιτήματα υποβάλλονται από τον πελάτη χρησιμοποιώντας την κεφαλίδα εύρους. Ενδέχεται να συμβούν το ένα μετά το άλλο (για να αποφύγετε την αποτυχία λήψης) ή ταυτόχρονα σε πολλά νήματα (για να επιταχύνετε τη λήψη).

HTTP 207 Multi-Status

Όπως το 103, αυτό χρησιμοποιείται μόνο με το WebDAV.

Ένα αίτημα WebDAV μπορεί να έχει πολλά δευτερεύοντα αιτήματα, το καθένα να έχει τη δική του κατάσταση και απόκριση. Η κατάσταση 207 υποδεικνύει ότι το κύριο μέρος της απόκρισης θα περιλαμβάνει ένα έγγραφο XML που θα περιγράφει λεπτομερώς την κατάσταση και τις απαντήσεις κάθε υπο-αιτήματος.

Το HTTP 208 έχει ήδη αναφερθεί

Ένας άλλος κωδικός κατάστασης μόνο για WebDAV. Αυτό σημαίνει ότι τα μέλη μιας δέσμευσης DAV έχουν ήδη απαριθμηθεί σε προηγούμενη απάντηση στο τρέχον αίτημα και δεν συμπεριλαμβάνονται ξανά.

Χρησιμοποιείται HTTP 226 IM

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

Κωδικός κατάστασης HTTP 3xx – Ανακατεύθυνση

Κάθε φορά που εγκαταλείπετε κάτι, πρέπει να το αντικαταστήσετε με κάτι.

– Λου Χολτς

Οι καταστάσεις στην τάξη 3xx αποστέλλονται όταν απαιτείται πρόσθετη ενέργεια εκ μέρους του πελάτη για την ολοκλήρωση του αιτήματος. Αυτό χρησιμοποιείται συνήθως για την ανακατεύθυνση ενός URL σε άλλο, αν και όχι πάντα.

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

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

HTTP 300 πολλαπλές επιλογές

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

Η κατάσταση 300 πολλαπλών επιλογών έχει πολλές δυνατότητες, αλλά δεν χρησιμοποιείται συχνά.

Το HTTP 301 μετακινήθηκε μόνιμα

Αυτή η κατάσταση δείχνει ότι ο πόρος έχει αλλάξει μόνιμα τη διεύθυνση URL.

Οι μηχανές αναζήτησης ενημερώνουν το ευρετήριό τους βάσει αυτού, συνήθως εκχωρώντας οποιαδήποτε κατάταξη από το αρχικό URL στο νέο URL.

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

Γενικά, εάν ρυθμίζετε ανακατευθύνσεις λόγω αλλαγής στο όνομα τομέα της δομής διευθύνσεων URL, θα πρέπει να χρησιμοποιήσετε το 301: Μετακινήθηκαν μόνιμες ανακατευθύνσεις.

Αυτά μπορούν να ρυθμιστούν στο αρχείο .htaccess ή httpd.conf στο διακομιστή σας, ή συχνά στο σύστημα διαχείρισης περιεχομένου σας. (Για παράδειγμα, υπάρχουν πολλές προσθήκες WordPress για τη διαχείριση 301 ανακατευθύνσεων.)

Όταν ένας ιστότοπος επανασχεδιάζεται και αλλάζει μια δομή διευθύνσεων URL, είναι πολύ σημαντικό να ρυθμίσετε μια ανακατεύθυνση 301 για κάθε διεύθυνση URL από τον αρχικό ιστότοπο. Σε αντίθετη περίπτωση, θα προκληθούν σπασμένοι σύνδεσμοι και απογοητευμένοι επισκέπτες.

Βρέθηκε HTTP 302

Ο κωδικός κατάστασης 302 χρησιμοποιείται συνήθως για προσωρινές ανακατευθύνσεις. Η βιομηχανική πρακτική με 301 ανακατευθύνσεις διέφερε από την αρχική προδιαγραφή και η προδιαγραφή έχει εξελιχθεί για να ανταποκριθεί στην πρακτική της βιομηχανίας.

Αρχικά, η προδιαγραφή ανέφερε ότι μια κατάσταση 302 πρέπει να κάνει το πρόγραμμα περιήγησης να κάνει ένα δεύτερο, πανομοιότυπο αίτημα με τη νέα διεύθυνση URL. Ωστόσο, πολλά προγράμματα περιήγησης ιστού πρώτης γενιάς το εφάρμοσαν με τέτοιο τρόπο ώστε τα αιτήματα POST να ξαναγραφούν ως αιτήματα GET.

Για να αποσαφηνίσει την κατάσταση, η ενημερωμένη προδιαγραφή HTTP / 1.1 πρόσθεσε δύο επιπλέον κωδικούς κατάστασης, 303 και 307.

Το 302 Found βρέθηκε να μιμείται τη συμπεριφορά “εναλλαγή σε GET” που είχε εφαρμοστεί, ενώ η 307 Προσωρινή ανακατεύθυνση προοριζόταν να αντικαταστήσει την αρχική 302 αναμενόμενη συμπεριφορά.

Ωστόσο, οι περισσότεροι διακομιστές και πλαίσια ιστού συνέχισαν να χρησιμοποιούν 302 για συμβατότητα με προγράμματα περιήγησης που δεν εφαρμόζουν τα νεότερα πρότυπα.

Αργότερα οι προδιαγραφές HTTP συγκαταλέγονται στην τυπική πρακτική, επιτρέποντας στα προγράμματα περιήγησης να ξαναγράψουν αιτήματα POST σε αιτήματα GET.

Η συνέπεια όλων αυτών είναι ότι εάν χρησιμοποιείτε μια ανακατεύθυνση 302 σε μια διεύθυνση URL που έπρεπε να δέχεται δεδομένα POST, τα δεδομένα αυτά πιθανότατα δεν θα συμπεριληφθούν στο δεύτερο αίτημα.

Για αυτόν τον λόγο, το 302 θα πρέπει να χρησιμοποιείται μόνο σε διευθύνσεις URL που δέχονται δεδομένα POST (φόρμες ιστού) εάν ο διακομιστής μπορεί πραγματικά να αποδεχτεί τα υποβληθέντα δεδομένα στην αρχική διεύθυνση URL και να χρησιμοποιήσει την ανακατεύθυνση για να παραδώσει μια σελίδα μετά την αποδοχή των δεδομένων.

Όλα αυτά, στην πράξη, καθιστούν το 303 περιττό.

Γενικά, δεν πρέπει να χρησιμοποιείται ανακατεύθυνση 302

HTTP 303 Δείτε άλλο

Στην πράξη, αυτό είναι πανομοιότυπο με μια κατάσταση 302. Αυτό σημαίνει ότι η απόκριση ή ο πόρος μπορεί να βρεθεί σε άλλη διεύθυνση URL χρησιμοποιώντας τη μέθοδο GET. Όταν ληφθεί ως απάντηση σε αίτημα POST, το πρόγραμμα περιήγησης πρέπει να υποθέσει ότι τα δεδομένα έχουν ληφθεί.

Το HTTP 304 δεν τροποποιήθηκε

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

Εάν έχει τροποποιηθεί από τότε, ο διακομιστής θα ανταποκριθεί με τον πόρο και μια κατάσταση επιτυχίας 200.

Εάν, ωστόσο, ο πόρος δεν έχει τροποποιηθεί, ο διακομιστής θα στείλει την κατάσταση 304 Δεν τροποποιήθηκε και δεν έστειλε επίσης τον πόρο. Στη συνέχεια, το πρόγραμμα περιήγησης θα πρέπει να προβάλλει την αποθηκευμένη έκδοση του πόρου, καθώς δεν έχει αλλάξει.

HTTP 305 Χρήση διακομιστή μεσολάβησης

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

Διακομιστής μεσολάβησης HTTP 306

Η κατάσταση 306 αρχικά σήμαινε “Τα επόμενα αιτήματα πρέπει να χρησιμοποιούν τον καθορισμένο διακομιστή μεσολάβησης”. Δεν χρησιμοποιείται πλέον.

Προσωρινή ανακατεύθυνση HTTP 307

Αυτή η κατάσταση δημιουργήθηκε για να αναπαράγει την αρχική πρόθεση της κατάστασης 302 (βλ. Παραπάνω).

Η κατάσταση 307: Προσωρινή ανακατεύθυνση σημαίνει ότι το αίτημα πρέπει να επαναληφθεί αυτή τη φορά με άλλη διεύθυνση URL, αλλά ότι στο μέλλον, ωστόσο, τα αιτήματα θα πρέπει να εξακολουθούν να χρησιμοποιούν την αρχική διεύθυνση URL.

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

HTTP 308 Μόνιμη ανακατεύθυνση

Το τρέχον αίτημα πρέπει να επαναληφθεί χρησιμοποιώντας μια άλλη διεύθυνση URL και όλα τα μελλοντικά αιτήματα θα πρέπει να αποστέλλονται και σε αυτήν τη διεύθυνση URL.

Όπως τα 307 και 302, αυτή η κατάσταση αντιγράφει τη λειτουργικότητα που καθορίζεται στην αρχική προδιαγραφή του 301. Ωστόσο, με το 308 (όπως και με το 307) το δεύτερο αίτημα θα πρέπει να είναι ίδιο με το αρχικό αίτημα – χρησιμοποιώντας την ίδια μέθοδο και περιέχει τα ίδια δεδομένα.

Μη ολοκληρωμένο HTTP 308 Resume

Αυτός ο κωδικός κατάστασης δημιουργήθηκε και χρησιμοποιείται από την Google. Αποτελεί μέρος της πρότασης αιτημάτων HTTP για τη συνέχιση και χρησιμοποιείται για τη συνέχιση των αιτημάτων PUT ή POST που έχουν ακυρωθεί.

Κωδικός κατάστασης HTTP 4xx – Σφάλμα πελάτη

Ο καθένας μπορεί να κάνει λάθη, αλλά μόνο ένας ηλίθιος παραμένει σε λάθος.

—Marcus Tullius Cicero

Από τις πέντε κατηγορίες κωδικών κατάστασης HTTP, μόνο δύο από αυτούς είναι πραγματικά “Κωδικοί σφάλματος”, οι κλάσεις 4xx και 5xx.

Η σειρά 4xx των σφαλμάτων HTTP προορίζεται να χρησιμοποιηθεί όταν το σφάλμα φαίνεται να προέρχεται από τον πελάτη – δηλαδή, υπάρχει κάποιο πρόβλημα με το αίτημα.

Μαζί με την κατάσταση σφάλματος και άλλες πληροφορίες κεφαλίδας, οι διακομιστές παρέχουν συχνά μια πλήρη απόκριση (που ονομάζεται “οντότητα” αντί για “πόρος”, αλλά διαφορετικά το ίδιο) που υποτίθεται ότι θα εμφανίζεται στον χρήστη.

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

Κακό αίτημα HTTP 400

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

HTTP 401 Μη εξουσιοδοτημένο

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

Απαιτείται πληρωμή HTTP 402

Δεν χρησιμοποιείται συνήθως, καθώς η προδιαγραφή δεν παρέχει αρκετές πληροφορίες για μια τρέχουσα υλοποίηση (έχει ονομαστεί και προορίζεται για μελλοντική χρήση, αλλά δεν έχει υιοθετηθεί πλήρης προδιαγραφή).

Η πρόθεση είναι να χρησιμοποιήσετε αυτόν τον κωδικό ως μέρος κάποιου τύπου ψηφιακού μετρητού ή συστήματος μικροπληρωμής.

Το YouTube χρησιμοποιεί αυτήν την κατάσταση εάν λάβει πάρα πολλά αιτήματα από μία διεύθυνση IP. Η απάντηση απαιτεί ένα CAPTCHA για να επαληθεύσει ότι ο χρήστης είναι άνθρωπος.

Απαγορεύεται το HTTP 403

Παρόμοιο με το 401, αυτό σημαίνει ότι το αίτημα ήταν έγκυρο, αλλά ο διακομιστής δεν θα ανταποκριθεί σε αυτό, επειδή ο χρήστης δεν έχει άδεια να δει τον πόρο. Σε αντίθεση με το 401: Μη εξουσιοδοτημένο σφάλμα, ο έλεγχος ταυτότητας δεν θα κάνει καμία διαφορά.

Το HTTP 404 δεν βρέθηκε

Αυτό είναι το πιο συχνά εμφανιζόμενο σφάλμα κλάσης 4xx και ίσως η πιο συχνά παρατηρούμενη κατάσταση HTTP για τον μέσο χρήστη.

Το 404 επιστρέφεται εάν το αίτημα είναι έγκυρο, αλλά ο πόρος που ζητήθηκε απλά δεν μπορεί να βρεθεί στο διακομιστή.

Τα περισσότερα πλαίσια ιστού δίνουν στον διαχειριστή του ιστότοπου τη δυνατότητα να δημιουργήσει μια «Σελίδα 404». Αυτή είναι μια σελίδα που βλέπει ο χρήστης όταν παρουσιάζεται σφάλμα 404.

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

Ορισμένοι ιστότοποι θα εξετάσουν οποιεσδήποτε λέξεις-κλειδιά στη διεύθυνση URL του αιτήματος και θα προσπαθήσουν να προσδιορίσουν ποια σελίδα ή πόρο θα αναζητούσε ο χρήστης και θα παρέχουν μία ή περισσότερες επιλογές για εναλλακτικές σελίδες.

Παρόλο που τα σφάλματα 4xx είναι τεχνικά “Σφάλματα πελάτη”, το σφάλμα 404 είναι συχνά αποτέλεσμα νεκρών συνδέσμων – διευθύνσεων URL που είχαν προηγουμένως περιεχόμενο αλλά που έχουν πλέον αλλάξει.

Για αυτόν τον λόγο, η παράδοση σελίδας 404 μπορεί να είναι λίγο ενοχλητική για τους ιστότοπους, καθώς συχνά σημαίνει αποτυχία παροχής κατάλληλης ανακατεύθυνσης URL. Η επίπτωση δεν είναι «χάσατε το αίτημά σας», αλλά «χάσαμε αυτό που ψάχνετε».

Εξαιτίας αυτού, είναι πολύ συνηθισμένο οι ιστότοποι να μετατρέπουν τις 404 σελίδες τους σε χώρο για χιούμορ.

Δεν επιτρέπεται η μέθοδος HTTP 405

Αυτό χρησιμοποιείται όταν το αίτημα είναι καλά διαμορφωμένο και ο πόρος που ζητά υπάρχει, αλλά η μέθοδος αιτήματος (όπως GET ή POST) δεν είναι κατάλληλη για τον πόρο.

Για παράδειγμα, μια διεύθυνση URL που έλαβε δεδομένα φόρμας θα πρέπει να έχει πρόσβαση με ένα αίτημα POST. Ένα αίτημα GET μπορεί να οδηγήσει σε απόκριση 405: Δεν επιτρέπεται η μέθοδος. Η χρήση του PUT σε έναν πόρο μόνο για ανάγνωση μπορεί επίσης να προκαλέσει μια τέτοια απόκριση.

HTTP 406 μη αποδεκτό

Τα αιτήματα μπορούν, και συχνά, να καθορίζουν τον τύπο περιεχομένου που αναζητούν, χρησιμοποιώντας τύπους MIME.

Εάν ο πόρος που ζητήθηκε είναι ενός τύπου που δεν ταιριάζει με τους τύπους που αναφέρονται στην κεφαλίδα Αποδοχή του αιτήματος, ο διακομιστής θα επιστρέψει το σφάλμα 406: Μη αποδεκτό.

Απαιτείται έλεγχος ταυτότητας διακομιστή μεσολάβησης HTTP 407

Πριν δοθεί πρόσβαση στον ζητούμενο πόρο, ο πελάτης πρέπει πρώτα να πιστοποιηθεί με τον διακομιστή μεσολάβησης που καθορίζεται στην απόκριση.

Λήξη χρόνου αιτήματος HTTP 408

Αυτό το σφάλμα συμβαίνει όταν ο διακομιστής έχει λήξει ενώ περιμένει το αίτημα.

Από τις προδιαγραφές:

Ο πελάτης δεν υπέβαλε αίτημα εντός του χρονικού διαστήματος που ο διακομιστής ήταν έτοιμος να περιμένει. Ο πελάτης ΜΠΟΡΕΙ να επαναλάβει το αίτημα χωρίς τροποποιήσεις αργότερα.

Σύγκρουση HTTP 409

Υποδεικνύει ότι δεν ήταν δυνατή η επεξεργασία του αιτήματος επειδή έρχεται σε διένεξη με το ίδιο. Αυτό μπορεί να συμβεί, για παράδειγμα, στην περίπτωση πολλαπλών ενημερώσεων που προκαλούν διένεξη επεξεργασίας μεταξύ τους.

HTTP 410 Έφυγε

Αυτό το σφάλμα είναι παρόμοιο με το σφάλμα 404, αλλά προορίζεται να δείξει ότι ο πόρος που ζητήθηκε έχει αφαιρεθεί σκόπιμα και δεν θα είναι πλέον διαθέσιμος σε καμία διεύθυνση URL.

Οι πελάτες πρέπει να αντιδράσουν σε αυτήν την απόκριση εκκαθαρίζοντας τον πόρο – οι σελιδοδείκτες θα πρέπει να διαγραφούν και οι μηχανές αναζήτησης θα πρέπει να αφαιρέσουν τον πόρο από τους δείκτες τους.

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

Απαιτείται μήκος HTTP 411

Ο πόρος που ζητήθηκε απαιτεί από τα αιτήματα να καθορίσουν το μήκος τους και το αίτημα δεν το έκανε.

Η προεπιλογή HTTP 412 απέτυχε

Ο αιτών έθεσε προϋποθέσεις ή απαιτήσεις στην κεφαλίδα του αιτήματος και ο διακομιστής δεν είναι σε θέση να ικανοποιήσει μία ή περισσότερες από αυτές τις απαιτήσεις.

HTTP 413 Αίτημα οντότητας πολύ μεγάλο

Το αίτημα είναι μεγαλύτερο από ότι ο διακομιστής μπορεί να επεξεργαστεί.

HTTP 414 Request-URI Πάρα πολύ

Το URI (URL) που παρέχεται ήταν πολύ μεγάλο για να επεξεργαστεί ο διακομιστής.

Αυτό συμβαίνει συχνά όταν μεταφέρεται ακατάλληλη ποσότητα δεδομένων στη διεύθυνση URL ως συμβολοσειρά ερωτήματος σε ένα αίτημα GET. Η συνήθης λύση είναι να μετατρέψετε το αίτημα σε POST και να τοποθετήσετε τα δεδομένα στο σώμα του αιτήματος.

HTTP 415 Μη υποστηριζόμενος τύπος πολυμέσων

Αυτό χρησιμοποιείται γενικά για μεταφορτώσεις αρχείων, όταν η οντότητα αιτήματος (το αρχείο που μεταφορτώνεται) είναι τύπου που δεν υποστηρίζεται από το διακομιστή.

HTTP 416 Ζητούμενο εύρος όχι ικανοποιητικό

Αυτό επιστρέφεται όταν το αίτημα ζητά ένα τμήμα του αρχείου, χρησιμοποιώντας την κεφαλίδα εύρους, αλλά το τμήμα που ζητήθηκε δεν υπάρχει. Για παράδειγμα, εάν το αίτημα ζητήσει ένα μέρος του αρχείου που βρίσκεται πέρα ​​από το τέλος του αρχείου.

Η προσδοκία HTTP 417 απέτυχε

Αυτή η κατάσταση επιστρέφεται από έναν διακομιστή εάν δεν μπορεί να ανταποκριθεί στην προσδοκία που έχει οριστεί από την κεφαλίδα αναμονής στο αίτημα.

Η κεφαλίδα αναμονής χρησιμοποιείται πιο συχνά για να ζητήσει από τον διακομιστή την κατάσταση 100 Συνέχεια.

HTTP 418 Είμαι τσαγιέρα

Αυτός ο κωδικός σφάλματος επιστρέφεται από τσαγιέρες με σύνδεση στο Διαδίκτυο, σε περίπτωση που τους αποσταλεί αίτημα για καφέ.

Χρονικό όριο ελέγχου ταυτότητας HTTP 419

Αυτό δεν είναι στην πραγματικότητα μέρος του προτύπου HHTP, αλλά ορισμένοι πελάτες και διακομιστές το χρησιμοποιούν. Επιστρέφεται όταν ένα αίτημα που απαιτεί έλεγχο ταυτότητας χρήστη αποστέλλεται από έναν αιτούντα του οποίου ο έλεγχος ταυτότητας έχει λήξει.

Αποτυχία μεθόδου HTTP 420 (Spring Framework)

Δεν είναι μέρος του προτύπου HTTP, αλλά ορίζεται από την Spring στο πλαίσιο ιστού τους, για χρήση όταν μια μέθοδος απέτυχε. Έχει καταργηθεί.

HTTP 420 Βελτιώστε την ηρεμία σας (Twitter)

Δεν αποτελεί μέρος του προτύπου HTTP, αλλά εισήχθη από το Twitter. Αυτό χρησιμοποιήθηκε από την Έκδοση 1 του API τους όταν τα αιτήματα από έναν συγκεκριμένο πελάτη ήταν περιορισμένα ποσοστά.

Η πιο τυπική κατάσταση για μια τέτοια κατάσταση είναι 429: Πάρα πολλά αιτήματα.

Αίτημα λανθασμένης κατεύθυνσης HTTP 421

Αυτή η κατάσταση εισήχθη στο HTTP / 2. Χρησιμοποιείται όταν το αίτημα απευθύνεται σε διακομιστή που δεν είναι προς το παρόν σε θέση να παράγει απάντηση.

HTTP 422 Μη επεξεργάσιμη οντότητα

Αυτό σχετίζεται με την επέκταση WedDAV. Επιστρέφεται όταν τα σημασιολογικά σφάλματα κάνουν το αίτημα μη επεξεργάσιμο.

HTTP 423 κλειδωμένο

Χρησιμοποιείται με το WedDAV. Αυτό σημαίνει ότι ο πόρος που ζητήθηκε είναι κλειδωμένος.

HTTP 424 Αποτυχημένη εξάρτηση

Χρησιμοποιείται με το WebDav. Το αίτημα απέτυχε επειδή απέτυχε ένα προηγούμενο αίτημα, στο οποίο εξαρτάται το τρέχον αίτημα.

Απαιτείται αναβάθμιση HTTP 426

Ο πελάτης πρέπει να μεταβεί σε διαφορετικό πρωτόκολλο, όπως ορίζεται στην κεφαλίδα αναβάθμισης.

Απαιτείται προϋπόθεση HTTP 428

Αυτό χρησιμοποιείται όταν ο διακομιστής απαιτεί το αίτημα να είναι υπό όρους.

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

Σύμφωνα με τις προδιαγραφές, αυτή η κατάσταση προοριζόταν για την αποτροπή του προβλήματος «χαμένη ενημέρωση», όπου ένας πελάτης ΛΑΒΕΙ την κατάσταση ενός πόρου, τον τροποποιεί και τον ΑΠΕΝΕΡΓΕΙΕΙ πίσω στον διακομιστή, ενώ εν τω μεταξύ ένα τρίτο μέρος έχει τροποποιήσει την κατάσταση στον διακομιστή , οδηγώντας σε σύγκρουση. “

HTTP 429 Πάρα πολλά αιτήματα

Ο πελάτης (συνήθως όπως ορίζεται από τη διεύθυνση IP) έχει στείλει πάρα πολλά αιτήματα εντός καθορισμένης περιόδου.

HTTP 431 Αίτημα κεφαλίδας πεδία πολύ μεγάλο

Αυτό επιστρέφεται όταν ένα πεδίο κεφαλίδας ή όλα μαζί συλλογικά, είναι πολύ μεγάλο για να επεξεργαστεί ο διακομιστής.

Χρονικό όριο σύνδεσης HTTP 440 (Microsoft)

Δεν αποτελεί μέρος του προτύπου, αλλά χρησιμοποιείται από τη Microsoft. Δηλώνει ότι η περίοδος σύνδεσης έχει λήξει.

HTTP 444 Χωρίς απόκριση (Nginx)

Δεν αποτελεί μέρος του προτύπου. Όχι στην πραγματικότητα μια κατάσταση απόκρισης όπως χρησιμοποιείται.

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

HTTP 449 Επανάληψη με (Microsoft)

Δεν αποτελεί μέρος του προτύπου, αλλά χρησιμοποιείται από τη Microsoft.

Το αίτημα πρέπει να επαναληφθεί μετά την εκτέλεση της ενέργειας που περιγράφεται στην απάντηση.

HTTP 450 αποκλείστηκε από γονικούς ελέγχους των Windows (Microsoft)

Δεν αποτελεί μέρος του προτύπου, αλλά χρησιμοποιείται από τη Microsoft.

Αυτό το σφάλμα παρουσιάζεται όταν τα Windows Parental Controls είναι ενεργοποιημένα και αποκλείουν την πρόσβαση στη δεδομένη ιστοσελίδα. Το σφάλμα προέρχεται από την εφαρμογή WPC και όχι από το διακομιστή.

HTTP 451 Μη διαθέσιμο για νομικούς λόγους (Πρόχειρο)

Αυτή η κατάσταση δεν είναι ακόμη μέρος του προτύπου, αλλά είναι διαθέσιμη σε πρόχειρη μορφή.

Η προβλεπόμενη χρήση είναι όταν ένας πόρος δεν μπορεί να παρασχεθεί λόγω λογοκρισίας ή άλλων νομικών λόγων. Ο κωδικός αριθμός είναι μια αναφορά στο βιβλίο Farenheit 451.

Ανακατεύθυνση HTTP 451 (Microsoft)

Δεν αποτελεί μέρος του προτύπου, αλλά χρησιμοποιείται από τη Microsoft. Εμφανίζεται στο Exchange ActiveSync εάν υπάρχει ένας πιο αποτελεσματικός διακομιστής για χρήση ή ο διακομιστής δεν μπορεί να έχει πρόσβαση στο γραμματοκιβώτιο των χρηστών.

HTTP 494 Request Header Too Large (Nginx)

Δεν αποτελεί μέρος του προτύπου, αλλά χρησιμοποιήθηκε από τη Nginx. Τώρα καταργήθηκε.

Αυτό είχε το ίδιο νόημα με το 431, αλλά εισήχθη πριν από αυτήν την κατάσταση ήταν μέρος του προτύπου HTTP.

Σφάλμα πιστοποιητικού HTTP 495 (Nginx)

Δεν αποτελεί μέρος του προτύπου. Όχι στην πραγματικότητα μια κατάσταση απόκρισης όπως χρησιμοποιείται, αλλά εμφανίζεται στα αρχεία καταγραφής Nginx όταν παρουσιάζεται σφάλμα πιστοποιητικού πελάτη SSL.

HTTP 496 Χωρίς Cert (Nginx)

Δεν αποτελεί μέρος του προτύπου. Όχι στην πραγματικότητα μια κατάσταση απόκρισης όπως χρησιμοποιείται, αλλά εμφανίζεται στα αρχεία καταγραφής Nginx όταν ο πελάτης δεν παρείχε πιστοποιητικό.

HTTP 497 HTTP σε HTTPS (Nginx)

Δεν αποτελεί μέρος του προτύπου. Όχι στην πραγματικότητα μια κατάσταση απόκρισης όπως χρησιμοποιείται, αλλά εμφανίζεται στα αρχεία καταγραφής Nginx όταν αποστέλλονται απλές αιτήσεις HTTP στη θύρα HTTPS.

Διακριτικό HTTP 498 Έληξε / Μη έγκυρο (Esri)

Επιστράφηκε από το ArcGIS για διακομιστή. Ένας κωδικός 498 δηλώνει ένα διακριτικό που έχει λήξει ή άλλως άκυρο.

Κλειστό αίτημα πελάτη HTTP 499 (Nginx)

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

Απαιτείται διακριτικό HTTP 499 (Esri)

Επιστράφηκε από το ArcGIS για διακομιστή. Ένας κωδικός 499 δηλώνει ότι απαιτείται διακριτικό (εάν δεν έχει υποβληθεί διακριτικό).

Κωδικός κατάστασης HTTP 5xx – Σφάλμα διακομιστή

Είμαι πραγματικά έκπληκτος όταν σκέφτομαι πόσο αδύναμο είναι το μυαλό μου και πόσο επιρρεπείς σε λάθη.

—Rene Descartes

Μαζί με τη σειρά 4xx, η κατηγορία 5xx των κωδικών κατάστασης HTTP είναι κωδικοί σφάλματος, που εκδίδονται όταν κάτι πάει στραβά. Οι κωδικοί σφάλματος 5xx είναι κωδικοί σφάλματος διακομιστή, που σημαίνει ότι επιστρέφονται όταν το πρόβλημα βρίσκεται στον διακομιστή και όχι με τον πελάτη.

Όποτε είναι δυνατόν, ο διακομιστής πρέπει να επιστρέψει μια οντότητα απόκρισης που περιγράφει το σφάλμα στον πελάτη. Οι πράκτορες χρήστη (προγράμματα περιήγησης ιστού) πρέπει να εμφανίζουν αυτές τις πληροφορίες στον χρήστη.

Σφάλμα εσωτερικού διακομιστή HTTP 500

Αυτό είναι το πιο γενικό σφάλμα διακομιστή και εκδίδεται από διακομιστές ιστού όταν κάτι δεν ήταν καθορισμένο.

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

Όταν δημιουργείται σφάλμα 500, η ​​εξέταση των αρχείων καταγραφής διακομιστή μπορεί συχνά να βοηθήσει στον προσδιορισμό από πού προέρχεται το σφάλμα. Μπορεί συχνά να είναι τόσο απλό όσο τυπογραφικά λάθη στο αρχείο .htaccess.

Το HTTP 501 δεν εφαρμόζεται

Αυτό επιστρέφεται όταν η μέθοδος αιτήματος HTTP (όπως PUT ή DELETE), η μέθοδος API σε ορισμένες περιπτώσεις, δεν έχει ακόμη εφαρμοστεί. Αυτό χρησιμοποιείται για API υπηρεσίας ιστού. Συνήθως, η συνέπεια ενός σφάλματος 501 είναι ότι η μέθοδος αιτήματος έχει προγραμματιστεί για μελλοντική εφαρμογή.

HTTP 502 Bad Gateway

Αυτό συμβαίνει όταν ο διακομιστής ενεργεί ως διακομιστής μεσολάβησης ή πύλη και λαμβάνει μη έγκυρη απόκριση από τον ανάντη διακομιστή.

Μη διαθέσιμη υπηρεσία HTTP 503

Ο διακομιστής δεν είναι διαθέσιμος αυτήν τη στιγμή. Για παράδειγμα, επειδή είναι υπερφορτωμένο ή μειωμένο για συντήρηση.

Η συνέπεια ενός σφάλματος 503 είναι ότι η διακοπή είναι προσωρινή.

Χρονικό όριο λήψης HTTP 504 Gateway

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

Δεν υποστηρίζεται έκδοση HTTP 505 HTTP

Αυτό το σφάλμα σημαίνει ότι ο διακομιστής δεν υποστηρίζει την έκδοση πρωτοκόλλου HTTP που χρησιμοποιείται στο αίτημα.

Η παραλλαγή HTTP 506 διαπραγματεύεται επίσης

Για να κατανοήσετε το σφάλμα 506, πρέπει να κατανοήσετε τη διαφανή διαπραγμάτευση περιεχομένου.

Με τη διαπραγμάτευση περιεχομένου, ένα μόνο URL μπορεί να παρέχει τον ίδιο πόρο ή πληροφορίες σε πολλές μορφές. Για παράδειγμα, η ίδια εικόνα μπορεί να κωδικοποιηθεί ως JPEG και ως GIF.

Το σφάλμα 506 παρουσιάζεται όταν αυτή η διαπραγμάτευση περιεχομένου προκαλεί βρόχο. Για παράδειγμα: Ο ζητούμενος πόρος Α έχει δύο παραλλαγές – Β και Γ. Και οι δύο έχουν Α ως παραλλαγή.

Για να το θέσουμε σε πιο τεχνική γλώσσα, η προδιαγραφή περιγράφει το σφάλμα 506 με:

Η διαφανής διαπραγμάτευση περιεχομένου για το αίτημα οδηγεί σε κυκλική αναφορά.

Ανεπαρκής αποθήκευση HTTP 507 (WebDAV, RFC 4918)

Αυτή η κατάσταση χρησιμοποιείται το πρωτόκολλο WebDAV. Επιστρέφεται όταν ο διακομιστής δεν μπορεί να αποθηκεύσει την αναπαράσταση που απαιτείται για την ολοκλήρωση του αιτήματος.

Εντοπίστηκε βρόχος HTTP 508

Ο διακομιστής αντιμετώπισε έναν άπειρο βρόχο κατά την προσπάθεια εξυπηρέτησης του πόρου που ζητήθηκε.

Υπέρβαση ορίου εύρους ζώνης HTTP 509 (Apache)

Δεν αποτελεί μέρος του προτύπου HTTP, αλλά εισήχθη και χρησιμοποιείται από τον Apache. Εκδίδεται όταν έχουν ξεπεραστεί τα όρια εύρους ζώνης των διακομιστών.

Το HTTP 510 δεν επεκτάθηκε

Αυτό το σφάλμα σημαίνει ότι απαιτούνται περαιτέρω επεκτάσεις στο αίτημα για να το εκπληρώσει ο διακομιστής.

Απαιτείται έλεγχος ταυτότητας δικτύου HTTP 511

Το σφάλμα 511 επιστρέφεται όταν ο πελάτης πρέπει να πραγματοποιήσει έλεγχο ταυτότητας για να αποκτήσει πρόσβαση στο δίκτυο.

Αυτή η κατάσταση προορίζεται για χρήση κατά την αναχαίτιση διακομιστών μεσολάβησης που χρησιμοποιούνται για τον έλεγχο της πρόσβασης στο δίκτυο – δηλαδή “Captive Portals” που χρησιμοποιούνται για την απαίτηση σύνδεσης ή των Όρων Παροχής Υπηρεσιών πριν παραχωρήσουν πρόσβαση στο Διαδίκτυο μέσω μιας πύλης WiFi.

(Εάν έχετε προσπαθήσει ποτέ να συνδεθείτε στο διαδίκτυο σε αεροδρόμιο ή ξενοδοχείο, πιθανότατα αντιμετωπίσατε το σφάλμα 511.)

HTTP 520 Άγνωστο σφάλμα

Αυτός ο κωδικός σφάλματος δεν αποτελεί μέρος του προτύπου HTTP, αλλά χρησιμοποιείται από πολλούς μεγάλους παρόχους υποδομής διακομιστή ως υπηρεσία, όπως το CloudFlare. Χρησιμοποιείται ως γενικό σφάλμα “catch-all” για μη αναγνωρισμένα προβλήματα που έχουν ως αποτέλεσμα να μην συμπληρωθεί ένα αίτημα.

HTTP 598 Σφάλμα χρονικού ορίου ανάγνωσης δικτύου (Microsoft)

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

Σφάλμα χρονικού ορίου HTTP 599 Network Connect (Microsoft)

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

Πόροι

  • IANA: ο ιστότοπος της Αρχής για την ανάθεση αριθμών στο Διαδίκτυο.
  • Μητρώο κωδικών κατάστασης HTTP: η επίσημη σελίδα IANA με συνδέσμους σε RFC για κάθε κωδικό.

Περαιτέρω ανάγνωση

Έχουμε περισσότερους οδηγούς, σεμινάρια και γραφήματα που σχετίζονται με την ανάπτυξη ιστού:

  • Κάθομαι? Σελίδες κατάστασης για 50 κορυφαίους παρόχους φιλοξενίας: ακόμη και οι καλύτεροι διακομιστές κατεβαίνουν κατά καιρούς. Αυτό το άρθρο παρέχει μια λίστα με σελίδες κατάστασης για 50 από τις κορυφαίες εταιρείες φιλοξενίας.
  • Προγραμματισμός δικτύου με πρίζες Διαδικτύου: εάν θέλετε να μάθετε τη δικτύωση σκληρού πυρήνα, αυτό είναι το άρθρο για να ξεκινήσετε.
  • Η απόλυτη λίστα των Εργαλείων για Webmasters A-Z: από την κωδικοποίηση έως τη φιλοξενία στο μάρκετινγκ, αυτό το άρθρο τα έχει όλα.

Ο τελικός οδηγός για φιλοξενία ιστοσελίδων

Ρίξτε μια ματιά στον απόλυτο οδηγό μας για φιλοξενία ιστοσελίδων. Θα εξηγήσει όλα όσα πρέπει να γνωρίζετε για να κάνετε μια σωστή επιλογή.

Ο τελικός οδηγός για φιλοξενία ιστοσελίδων
Ο τελικός οδηγός για φιλοξενία ιστοσελίδων

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map