Junior
Μίλησε για τους κωδικούς κατάστασης HTTP.
sobes.tech AI
Απάντηση από AI
Οι κωδικοί κατάστασης HTTP είναι τριψήφιοι ακέραιοι αριθμοί που επιστρέφονται από τον διακομιστή ως απάντηση σε ένα αίτημα του πελάτη. Υποδεικνύουν το αποτέλεσμα του αιτήματος και διαιρούνται σε πέντε κατηγορίες:
- 1xx Πληροφοριακοί: Το αίτημα έχει ληφθεί και η επεξεργασία συνεχίζεται.
100 Continue: Ο διακομιστής έχει λάβει το αρχικό μέρος του αιτήματος και ο πελάτης μπορεί να συνεχίσει να στέλνει το υπόλοιπο.101 Switching Protocols: Ο διακομιστής καταλαβαίνει και είναι έτοιμος να πραγματοποιήσει την αλλαγή πρωτοκόλλων που ζητήθηκε από τον πελάτη.
- 2xx Επιτυχία: Το αίτημα έχει επεξεργαστεί με επιτυχία, κατανοηθεί και γίνει αποδεκτό.
200 OK: Τυπική απάντηση επιτυχίας για αιτήματα HTTP.201 Created: Το αίτημα ολοκληρώθηκε και δημιουργήθηκε ένας νέος πόρος.204 No Content: Ο διακομιστής επεξεργάστηκε επιτυχώς το αίτημα, αλλά η απάντηση δεν περιέχει σώμα.
- 3xx Ανακατεύθυνση: Απαιτούνται πρόσθετες ενέργειες για την ολοκλήρωση του αιτήματος.
301 Moved Permanently: Ο ζητούμενος πόρος έχει νέο μόνιμο URI.302 Found: Ο ζητούμενος πόρος έχει προσωρινά μετακινηθεί σε άλλο URI.304 Not Modified: Ο πόρος δεν έχει αλλάξει από την τελευταία αποστολή.
- 4xx Σφάλματα πελάτη: Το αίτημα περιέχει συντακτικό σφάλμα ή δεν μπορεί να εκτελεστεί.
400 Bad Request: Ο διακομιστής δεν μπόρεσε να κατανοήσει το αίτημα λόγω μη έγκυρης σύνταξης.401 Unauthorized: Απαιτείται πιστοποίηση για πρόσβαση στον πόρο.403 Forbidden: Ο διακομιστής καταλαβαίνει το αίτημα, αλλά αρνείται να το εξουσιοδοτήσει.404 Not Found: Ο διακομιστής δεν μπορεί να βρει τον ζητούμενο πόρο.
- 5xx Σφάλματα διακομιστή: Ο διακομιστής δεν μπόρεσε να εκτελέσει σωστά ένα καλά διαμορφωμένο αίτημα.
500 Internal Server Error: Γενικό σφάλμα διακομιστή που συνέβη κατά την επεξεργασία.502 Bad Gateway: Ο διακομιστής που λειτουργεί ως πύλη ή διαμεσολαβητής έλαβε μη έγκυρη απάντηση από τον ανώτερο διακομιστή.503 Service Unavailable: Ο διακομιστής αυτήν τη στιγμή δεν μπορεί να επεξεργαστεί το αίτημα λόγω προσωρινής υπερφόρτωσης ή συντήρησης.
Παραδείγματα χρήσης σε δοκιμές:
- Δοκιμές API: Έλεγχος αν οι επιστρεφόμενοι κωδικοί κατάστασης ταιριάζουν με τους αναμενόμενους (π.χ.,
200 OKγια επιτυχή λήψη δεδομένων,404 Not Foundγια μη υπάρχοντες πόρους). - Δοκιμές web εφαρμογών: Έλεγχος ανακατευθύνσεων (
3xx), σφαλμάτων εισόδου χρήστη (4xx), λειτουργικότητας υπηρεσιών υπό φόρτο (503).
Παράδειγμα ελέγχου κωδικού κατάστασης σε Python με χρήση requests:
import requests
url = "https://www.example.com"
response = requests.get(url)
# Έλεγχος αν το αίτημα ήταν επιτυχές (κωδικός κατάστασης 2xx)
if response.status_code == 200:
print("Το αίτημα ολοκληρώθηκε με επιτυχία.")
else:
print(f"Σφάλμα κατά την εκτέλεση του αιτήματος. Κωδικός κατάστασης: {response.status_code}")