Κωδικοί HTTP και τι σημαίνουν
Όλοι όσοι ασχολούμαστε με το διαδίκτυο, κάποια στιγμή κατά την πλοήγηση μας σε κάποιο web site θα έχουμε παρατηρήσει κάποιο σφάλμα το οποίο συνοδεύεται από ένα τριψήφιο αριθμό. Τα σφάλματα αυτό προκύπτει από τον Web Server και ο αριθμός που συνοδεύει αυτό το σφάλμα είναι ο κωδικός του σφάλματος.
Το πρωτόκολλo επικοινωνίας HTTP συνοδεύεται από μια λίστα από τέτοιους κωδικούς, οι οποίοι βέβαια δεν αντιστοιχούν πάντα σε σφάλματα. Γενικότερα η επικοινωνία του Web Browser που χρησιμοποιείτε, και του Web Server που φιλοξενεί μια ιστοσελίδα πραγματοποιείται σε μορφή διαλόγου, και ο server για να ενημερώσει τον web browser που χρησιμοποιείτε για την κατάσταση των δεδομένων που ζητά ο περιηγητής του απαντά με αυτούς τους κωδικούς.
Σε αυτό το άρθρο ακολουθεί μια λίστα με τους ποιο σημαντικούς κωδικούς του πρωτοκόλλου HTTP.
Πληροφοριακοί κωδικοί
100 Continue
Ο server έχει παραλάβει την επικεφαλίδα της αίτησης και ο web browser πρέπει να στείλει τον κορμό του αιτήματος.
101 Switching Protocol
Ο web browser έχει ζητήσει από τον server να αλλάξει το πρωτόκολλο επικοινωνίας
103 Checkpoint
Χρησιμοποιείται στην πρόταση επανάληψης αιτημάτων που απορρίφθηκαν μέσω αιτημάτων PUT και POST
Επιτυχείς κωδικοί
200 ok
Το αίτημα εξυπηρετήθηκε σωστά. Αυτός είναι ο εξ’ ορισμού κωδικός για όλα τα αιτήματα HTTP.
201 Created
Το αίτημα έχει ολοκληρωθεί, και μια νέα πηγή έχει δημιουργηθεί.
202 Accepted
Το αίτημα έχει γίνει αποδεκτό για επεξεργασία, αλλά η επεξεργασία δεν έχει ολοκληρωθεί ακόμα.
203 Non-Authoritative Information
Το αίτημα έχει επεξεργαστεί σωστά, αλλά επιστρέφει πληροφορίες που μπορεί να προέρχονται από άλλη πηγή.
204 No Content
Το αίτημα έχει επεξεργαστεί σωστά, αλλά δεν επιστρέφει περιεχόμενο.
205 Reset Content
Το αίτημα έχει επεξεργαστεί σωστά, αλλά δεν επιστρέφει περιεχόμενο και απαιτεί από τον περιηγητή διαδικτύου να επαναφέρει την εμφάνιση του εγγράφου.
206 Partial Content
Ο Server επιστρέφει μόνο ένα μέρος της πηγής λόγο περιορισμός που υπήρχαν στην επικεφαλίδα του αιτήματος
Κωδικοί ανακατεύθυνσης
300 Multiple Choises
Μία λίστα συνδέσμων. Ο χρήστης μπορεί να επιλέξει ένα σύνδεσμο για να πάει στον προορισμό που θέλει. Μέγιστο πέντε σύνδεσμοι.
301 Moved Permantly
Η σελίδα που ζήτησε ο web browser έχει μετακινηθεί σε άλλο URL
302 Found
Η σελίδα που ζήτησε ο web browser έχει μετακινηθεί μόνιμα σε άλλο URL
303 See Other
Η σελίδα που ζήτησε ο web browser μπορεί να βρεθεί σε άλλο URL
304 Not Modified
Υποδεικνύει πως η σελίδα που ζήτησε ο web browser δεν έχει αλλάξει από την τελευταία φορά που ο χρήστης επισκέφτηκε αυτή τη σελίδα.
306 Switch Proxy
Δεν χρησιμοποιείται άλλο
307 Temporary Redirect
Η σελίδα που ζήτησε ο web browser έχει μετακινηθεί προσωρινά σε άλλο URL.
308 Resume Incomplete
Χρησιμοποιείτε στην πρόταση επανάληψης αιτημάτων που απορύφθηκαν μέσω αιτημάτων PUT και POST
Σφάλματα πελάτη
400 Bad Request
Το αίτημα δεν μπορεί να ολοκληρωθεί λόγο κακής σύνταξης του αιτήματος
401 Unauthorized
Το αίτημα ήταν νόμιμο, αλλά ο server αρνείται να απαντήσει σε αυτό το αίτημα. Χρησιμοποιείται όταν ο χρήστης έχει τη δυνατότητα να συνδεθεί με κωδικό πρόσβασης και όνομα χρήστη, αλλά δεν τα έχει καταφέρει ακόμα ή όταν δεν έχει προσπαθήσει να συνδεθεί.
402 Payment Required
Δεσμευμένο για μελλοντική χρήση
403 Forbidden
Το αίτημα ήταν νόμιμο, αλλά ο server αρνείται να απαντήσει σε αυτό το αίτημα.
404 Not Found
Η σελίδα που ζήτησε ο web browser δεν υπάρχει, αλλά μπορεί να είναι διαθέσιμη ξανά κάποια στιγμή στο μέλλον.
405 Method Not Allowed
Το αίτημα που έγινε από μια σελίδα χρησιμοποιώντας μια μέθοδο αίτησης που δεν υποστηρίζεται από αυτή τη σελίδα.
406 Not Acceptable
Ο server μπορεί να παράγει μια απάντηση που δεν είναι αποδεκτή από τον web browser
407 Proxy Authentication Required
Ο πελάτης πρέπει πρώτα να συνδεθεί στον Proxy του
408 Request Timeout
Ο server έληξε το αίτημα γιατί περίμενε πολύ ώρα για την απάντηση.
409 Conflict
Το αίτημα δεν μπορεί να ολοκληρωθεί λόγο μιας διένεξης στο αίτημα.
410 Gone
Η σελίδα που ζήτησε ο web browser δεν είναι άλλο ποια διαθέσιμη
411 Length Request
Δεν έχει οριστεί η παράμετρος “Content-Length”. Ο Server δεν μπορεί να δεχτεί το αίτημα χωρίς αυτή την τιμή.
412 Precondition Failed
Η προϋπόθεση που δόθηκε στο αίτημα θεωρήθηκε ψευδής από το server.
413 Request Entity Too Large
Ο Server δεν μπορεί να δεχτεί το αίτημα, γιατί η οντότητα αίτησης είναι πολύ μεγάλη.
414 Request-URI Too Long
O Server δεν θα αποδεχτεί το αίτημα, γιατί το URL είναι πολύ μακρύ. Αυτό συνήθως συμβαίνει όταν μετατρέπετε ένα αίτημα POST σε αίτημα GET με πολλές πληροφορίες ερωτήματος
415 Unsupported Media Type
O Server δεν θα αποδεχτεί το αίτημα, γιατί ο τύπος των πολυμέσων δεν υποστηρίζεται.
416 Requested Range Not Satisfiable
Ο πελάτης έχει ζητήσει ένα μέρος του αρχείου, αλλά ο server δεν μπορεί παρέχει αυτό το τμήμα.
Σφάλματα του Server
500 Internal Server Error
Ένα σφάλμα γενικής σημασίας, το οποίο δημιουργείται όταν δεν υπάρχουν αρκετές πληροφορίες για το σφάλμα αυτό.
501 Not Implemented
Ο Server είτε δεν αναγνωρίζει τη μέθοδο του αιτήματος ή δεν μπορεί να ολοκληρώσει το αίτημα.
502 Bad Gateway
Ο Server λειτουργεί ως πύλη ή σαν Proxy και έλαβε μια άκυρη απάντηση από τον upstream server.
503 Service Unavailable
Ο Server είναι προσωρινά μη διαθέσιμος (υπερφορτωμένος ή έχει πέσει).
504 Gateway Timeout
Ο Server λειτουργεί ως πύλη ή σαν Proxy και δεν έχει λάβει απάντηση σε ένα εύλογο χρονικό διάστημα από τον upstream server.
505 HTTP Version Not Supported
Ο Server δεν υποστηρίζει την έκδοση του HTTP πρωτοκόλλου που χρησιμοποιεί η αίτηση
511 Network Authentication Required
Ο πελάτης θα πρέπει να συνδεθεί με κωδικό πρόσβασης και όνομα χρήστη για να αποκτήσει πρόσβαση στο δίκτυο.