Sobes.tech
Junior

Parla dei codici di stato HTTP.

sobes.tech AI

Risposta dell'AI

I codici di stato HTTP sono numeri a tre cifre restituiti dal server in risposta a una richiesta del client, indicando il risultato dell'elaborazione della richiesta. Sono classificati in base alla prima cifra:

  • 1xx (Informativo): La richiesta è stata accettata, l'elaborazione continua.
  • 2xx (Successo): La richiesta è stata ricevuta, compresa e accettata con successo.
  • 3xx (Reindirizzamento): Sono necessarie azioni aggiuntive per completare la richiesta.
  • 4xx (Errore del client): La richiesta contiene un errore di sintassi o non può essere elaborata.
  • 5xx (Errore del server): Il server non è riuscito a elaborare correttamente la richiesta ben formata.

Esempi dei codici più comuni:

Codice Categoria Valore Descrizione
100 Informativo Continue Il server ha ricevuto la prima parte della richiesta
200 Successo OK La richiesta è stata completata con successo
201 Successo Created La richiesta è stata elaborata e una nuova risorsa è stata creata
204 Successo No Content La richiesta è stata elaborata e la risposta non contiene corpo
301 Reindirizzamento Moved Permanently La risorsa è stata spostata definitivamente
302 Reindirizzamento Found (Temporarily Moved) La risorsa è stata spostata temporaneamente
304 Reindirizzamento Not Modified La risorsa non è stata modificata dalla richiesta precedente
400 Errore del cliente Bad Request La sintassi della richiesta è errata
401 Errore del cliente Unauthorized È richiesta l'autenticazione
403 Errore del cliente Forbidden L'accesso alla risorsa è vietato
404 Errore del cliente Not Found La risorsa all'URL specificato non è stata trovata
405 Errore del cliente Method Not Allowed È stato utilizzato un metodo HTTP non consentito
500 Errore del server Internal Server Error Errore interno del server
502 Errore del server Bad Gateway Risposta non valida dal server a monte
503 Errore del server Service Unavailable Il server è temporaneamente non disponibile

Conoscere i codici di stato aiuta a capire la causa dell'errore, a debugare le richieste e a determinare il successo della loro esecuzione. Nell'automazione dei test, sono spesso usati per verificare il risultato atteso delle richieste API.

import requests

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

# Verifica del codice di stato per successo (200 OK)
if response.status_code == 200:
    print("Richiesta GET riuscita")
else:
    print(f"Errore nella richiesta GET: codice di stato {response.status_code}")

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

# Verifica del codice di stato per risorsa non trovata (404 Not Found)
if response_not_found.status_code == 404:
    print("Risorsa non trovata (comportamento atteso)")
else:
    print(f"Codice di stato inaspettato ricevuto: {response_not_found.status_code}")