Sobes.tech
Junior

Opowiedz o kodach statusu HTTP.

sobes.tech AI

Odpowiedź od AI

Kody statusów HTTP to trzycyfrowe liczby całkowite zwracane przez serwer jako odpowiedź na żądanie klienta. Wskazują one wynik żądania i dzielą się na pięć klas:

  • 1xx Informacyjne: Żądanie zostało odebrane i jest kontynuowane przetwarzanie.
    • 100 Continue: Serwer otrzymał początkową część żądania, a klient może kontynuować wysyłanie reszty.
    • 101 Switching Protocols: Serwer rozumie i jest gotowy do wykonania zmiany protokołów żądanej przez klienta.
  • 2xx Sukces: Żądanie zostało pomyślnie przetworzone, zrozumiane i zaakceptowane.
    • 200 OK: Standardowa odpowiedź sukcesu dla żądań HTTP.
    • 201 Created: Żądanie zostało wykonane, a nowy zasób został utworzony.
    • 204 No Content: Serwer pomyślnie przetworzył żądanie, ale w odpowiedzi nie ma treści.
  • 3xx Przekierowanie: Aby zakończyć żądanie, wymagane są dodatkowe działania.
    • 301 Moved Permanently: Żądany zasób ma nowy stały URI.
    • 302 Found: Żądany zasób tymczasowo przeniesiony do innego URI.
    • 304 Not Modified: Zasób nie zmienił się od ostatniego wysłania.
  • 4xx Błędy klienta: Żądanie zawiera błąd składni lub nie może zostać wykonane.
    • 400 Bad Request: Serwer nie mógł zrozumieć żądania z powodu nieprawidłowej składni.
    • 401 Unauthorized: Wymagana jest autoryzacja do dostępu do zasobu.
    • 403 Forbidden: Serwer rozumie żądanie, ale odmawia autoryzacji.
    • 404 Not Found: Serwer nie może znaleźć żądanego zasobu.
  • 5xx Błędy serwera: Serwer nie mógł poprawnie obsłużyć poprawnie sformułowanego żądania.
    • 500 Internal Server Error: Ogólny błąd serwera występujący podczas przetwarzania.
    • 502 Bad Gateway: Serwer działający jako brama lub proxy otrzymał nieprawidłową odpowiedź od serwera nadrzędnego.
    • 503 Service Unavailable: Serwer w tym momencie nie może obsłużyć żądania z powodu tymczasowego przeciążenia lub konserwacji.

Przykłady użycia w testach:

  • Testowanie API: Sprawdzanie zgodności zwracanych kodów statusu z oczekiwanymi (np. 200 OK przy pomyślnym pobieraniu danych, 404 Not Found przy nieistniejącym zasobie).
  • Testowanie aplikacji internetowych: Sprawdzanie przekierowań (kody statusu 3xx), błędów wprowadzania użytkownika (kody statusu 4xx), poprawności działania usług pod obciążeniem (kod statusu 503).

Przykład sprawdzania kodu statusu w Pythonie z użyciem requests:

import requests

url = "https://www.example.com"
response = requests.get(url)

# Sprawdzamy, czy żądanie się powiodło (kod statusu 2xx)
if response.status_code == 200:
    print("Żądanie powiodło się.")
else:
    print(f"Błąd podczas żądania. Kod statusu: {response.status_code}")