Sobes.tech
Junior

Parla dei codici di stato HTTP.

sobes.tech AI

Risposta dell'AI

I codici di stato HTTP sono numeri interi a tre cifre restituiti dal server in risposta a una richiesta del client. Indicano il risultato della richiesta e sono suddivisi in cinque classi:

  • 1xx Informativi: La richiesta è stata ricevuta e si sta continuando a elaborarla.
    • 100 Continue: Il server ha ricevuto la parte iniziale della richiesta, e il client può continuare a inviare il resto.
    • 101 Switching Protocols: Il server comprende e si prepara a eseguire il cambio di protocolli richiesto dal client.
  • 2xx Successo: La richiesta è stata elaborata con successo, compresa e accettata.
    • 200 OK: Risposta standard di successo per le richieste HTTP.
    • 201 Created: La richiesta è stata completata e una nuova risorsa è stata creata.
    • 204 No Content: Il server ha elaborato con successo la richiesta, ma non ci sono contenuti nella risposta.
  • 3xx Redirezione: Sono necessarie azioni aggiuntive per completare la richiesta.
    • 301 Moved Permanently: La risorsa richiesta ha un nuovo URI permanente.
    • 302 Found: La risorsa richiesta è stata temporaneamente spostata in un altro URI.
    • 304 Not Modified: La risorsa non è stata modificata dalla richiesta precedente.
  • 4xx Errori del client: La richiesta contiene un errore di sintassi o non può essere elaborata.
    • 400 Bad Request: Il server non ha potuto comprendere la richiesta a causa di una sintassi non valida.
    • 401 Unauthorized: È richiesta autenticazione per accedere alla risorsa.
    • 403 Forbidden: Il server ha compreso la richiesta, ma si rifiuta di autorizzarla.
    • 404 Not Found: Il server non riesce a trovare la risorsa richiesta.
  • 5xx Errori del server: Il server non è riuscito a elaborare correttamente una richiesta ben formata.
    • 500 Internal Server Error: Errore generale del server verificatosi durante l'elaborazione.
    • 502 Bad Gateway: Il server che funge da gateway o proxy ha ricevuto una risposta non valida dal server superiore.
    • 503 Service Unavailable: Il server al momento non può elaborare la richiesta a causa di sovraccarico temporaneo o manutenzione.

Esempi di utilizzo nei test:

  • Test API: Verifica che i codici di stato restituiti corrispondano a quelli attesi (ad esempio, 200 OK per il recupero dati con successo, 404 Not Found per risorse inesistenti).
  • Test di applicazioni web: Verifica dei reindirizzamenti (3xx), errori di input utente (4xx), funzionamento dei servizi sotto carico (503).

Esempio di verifica del codice di stato in Python usando requests:

import requests

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

# Verifica che la richiesta sia andata a buon fine (codice di stato 2xx)
if response.status_code == 200:
    print("Richiesta riuscita.")
else:
    print(f"Errore nella richiesta. Codice di stato: {response.status_code}")