Ricerca…


introduzione

In HTTP, i codici di stato sono un meccanismo leggibile dalla macchina che indica il risultato di una richiesta precedentemente emessa. Da RFC 7231, sec. 6 : "L'elemento codice di stato è un codice intero a tre cifre che fornisce il risultato del tentativo di comprendere e soddisfare la richiesta."

La grammatica formale consente ai codici di essere compresi tra 000 e 999 . Tuttavia, solo il range da 100 a 599 ha assegnato un significato.

Osservazioni

HTTP / 1.1 definisce un numero di codici di stato HTTP numerici che appaiono nella riga di stato - la prima riga di una risposta HTTP - per riassumere ciò che il client dovrebbe fare con la risposta.

La prima cifra di un codice di stato definisce la classe della risposta:

In pratica, non è sempre facile scegliere il codice di stato più appropriato.

500 Errore interno del server

Un errore di server interno HTTP 500 è un messaggio generico che indica che il server ha riscontrato qualcosa di inaspettato. Le applicazioni (o il server Web sovrastante) dovrebbero utilizzare un 500 quando si verifica un errore nell'elaborazione della richiesta, ovvero viene generata un'eccezione o una condizione della risorsa impedisce il completamento del processo.

Esempio di riga di stato:

HTTP/1.1 500 Internal Server Error

404 non trovato

HTTP 404 Not Found significa che il server non è stato in grado di trovare il percorso utilizzando l'URI richiesto dal client.

HTTP/1.1 404 Not Found

Molto spesso, il file richiesto è stato cancellato, ma a volte può essere una errata configurazione della radice del documento o una mancanza di permessi (anche se le autorizzazioni mancanti attivano più spesso HTTP 403 Proibito).

Ad esempio, Microsoft IIS scrive 404.0 (0 è lo stato secondario) nei suoi file di registro quando il file richiesto è stato cancellato. Ma quando la richiesta in arrivo viene bloccata dalle regole di filtro richieste, scrive 404.5-404.19 per registrare i file in base a quale regola blocca la richiesta. Un riferimento al codice di errore più dettagliato è disponibile sul supporto Microsoft .

Negare l'accesso ai file protetti

Usa 403 Proibito quando un client ha richiesto una risorsa inaccessibile a causa dei controlli di accesso esistenti. Ad esempio, se la tua app ha una route /admin che dovrebbe essere accessibile solo agli utenti con diritti amministrativi, puoi utilizzare 403 quando un utente normale richiede la pagina.

GET /admin HTTP/1.1
Host: example.com
HTTP/1.1 403 Forbidden

Richiesta di successo

Invia una risposta HTTP con il codice di stato 200 per indicare una richiesta corretta. La riga di stato della risposta HTTP è quindi:

HTTP/1.1 200 OK

Il testo di stato OK è solo informativo. Il corpo della risposta (payload del messaggio) dovrebbe contenere una rappresentazione della risorsa richiesta. Se non vi è alcuna rappresentazione, non si dovrebbe utilizzare alcun contenuto.

Risposta a una richiesta condizionale per il contenuto memorizzato nella cache

Invia uno stato di risposta 304 non modificato dal server invia in risposta a una richiesta client che contiene intestazioni If-Modified-Since e If-None-Match , se la risorsa richiesta non è stata modificata.

Ad esempio, se una richiesta di un client per una pagina Web include l'intestazione If-Modified-Since: Fri, 22 Jul 2016 14:34:40 GMT e la pagina non è stata modificata da allora, rispondere con la riga di stato HTTP/1.1 304 Not Modified

Top 10 Codice di stato HTTP

2xx successo

  • 200 OK : risposta standard per richieste HTTP riuscite.
  • 201 Creato : la richiesta è stata soddisfatta, con conseguente creazione di una nuova risorsa.
  • 204 Nessun contenuto : il server ha elaborato correttamente la richiesta e non restituisce alcun contenuto.

3xx Reindirizzamento

  • 304 non modificato : indica che la risorsa non è stata modificata dalla versione specificata dalle intestazioni della richiesta If-Modified-Since o If-None-Match .

Errore client 4xx

  • 400 Richiesta non valida - Il server non può o non vuole elaborare la richiesta a causa di un errore apparente del client (ad es. Sintassi di richiesta non valida, dimensioni troppo grandi, frame di messaggi di richieste non valide o instradamento di richieste ingannevoli).
  • 401 Non autorizzato - Simile a 403 Proibito , ma specificamente per l'uso quando è richiesta l'autenticazione e non è stato eseguito o non è stato ancora fornito. La risposta deve includere un campo di intestazione WWW-Authenticate contenente una richiesta di sfida per la risorsa richiesta.
  • 403 Proibito : la richiesta era valida, ma il server si rifiuta di rispondere. L'utente potrebbe essere registrato ma non dispone delle autorizzazioni necessarie per la risorsa.
  • 404 non trovato - La risorsa richiesta non è stata trovata ma potrebbe essere disponibile in futuro. Sono consentite richieste successive da parte del cliente.
  • 409 Conflict - Indica che la richiesta non può essere elaborata a causa di conflitti nella richiesta, come un conflitto di modifica tra più aggiornamenti simultanei.

5xx Errore del server

  • Errore interno 500 server - Un messaggio di errore generico, fornito quando si è verificata una condizione imprevista e non è più adatto alcun messaggio specifico.


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow