Sobes.tech
Junior

Vorbește despre codurile de stare HTTP.

sobes.tech AI

Răspuns de la AI

Codurile de stare HTTP sunt numere formate din trei cifre, returnate de server ca răspuns la o solicitare a clientului, indicând rezultatul procesării solicitării. Ele sunt clasificate după prima cifră:

  • 1xx (Informațional): Solicitarea a fost acceptată, procesarea continuă.
  • 2xx (Succes): Solicitarea a fost primită, înțeleasă și acceptată cu succes.
  • 3xx (Redirecționare): Sunt necesare acțiuni suplimentare pentru finalizarea solicitării.
  • 4xx (Eroare a clientului): Solicitarea conține o eroare de sintaxă sau nu poate fi procesată.
  • 5xx (Eroare a serverului): Serverul nu a putut procesa corect solicitarea bine formulată.

Exemple ale celor mai frecvente coduri:

Cod Categorie Valoare Descriere
100 Informațional Continue Serverul a primit prima parte a solicitării
200 Succes OK Solicitarea a fost finalizată cu succes
201 Succes Created Solicitarea a fost procesată și a fost creat un nou resurs
204 Succes No Content Solicitarea a fost procesată, răspunsul nu conține corp
301 Redirecționare Moved Permanently Resursa a fost mutată definitiv
302 Redirecționare Found (Temporarily Moved) Resursa a fost mutată temporar
304 Redirecționare Not Modified Resursa nu s-a modificat de la ultima solicitare
400 Eroare a clientului Bad Request Sintaxa solicitării este incorectă
401 Eroare a clientului Unauthorized Autentificarea este necesară
403 Eroare a clientului Forbidden Accesul la resursă este interzis
404 Eroare a clientului Not Found Resursa specificată în URL nu a fost găsită
405 Eroare a clientului Method Not Allowed S-a folosit o metodă HTTP nepermisă
500 Eroare a serverului Internal Server Error Eroare internă a serverului
502 Eroare a serverului Bad Gateway Răspuns invalid de la serverul ascendent
503 Eroare a serverului Service Unavailable Serverul este temporar indisponibil

Cunoașterea codurilor de stare ajută la înțelegerea cauzei erorii, la depanarea solicitărilor și la determinarea succesului acestora. În automatizarea testelor, sunt adesea folosite pentru verificarea rezultatului așteptat al solicitărilor API.

import requests

url = "https://jsonplaceholder.typicode.com/posts/1"
response = requests.get(url)

# Verificarea codului de stare pentru succes (200 OK)
if response.status_code == 200:
    print("Cerere GET reușită")
else:
    print(f"Eroare la cererea GET: cod de stare {response.status_code}")

url_not_found = "https://jsonplaceholder.typicode.com/nonexistent"
response_not_found = requests.get(url_not_found)

# Verificarea codului de stare pentru resursă negăsită (404 Not Found)
if response_not_found.status_code == 404:
    print("Resursă negăsită (comportament așteptat)")
else:
    print(f"Cod de stare neașteptat primit: {response_not_found.status_code}")