Ricerca…


Parametri

Codice di stato Frase-motivo - Descrizione
100 Continua : il client deve inviare la seguente parte di una richiesta multiparte.
101 Switching Protocols - il server sta cambiando la versione o il tipo di protocollo utilizzato in questa comunicazione.
200 OK : il server ha ricevuto e completato la richiesta del cliente.
201 Creato : il server ha accettato la richiesta e creato una nuova risorsa, disponibile sotto l'URI nell'intestazione Location .
202 Accettato : il server ha ricevuto e accettato la richiesta del cliente, ma non ha ancora iniziato o completato l'elaborazione.
203 Informazioni non autorevoli : il server restituisce dati che potrebbero essere un sotto o superset delle informazioni disponibili sul server originale. Utilizzato principalmente dai proxy.
204 Nessun contenuto - usato al posto di 200 (OK) quando non c'è alcun corpo alla risposta.
205 Resetta il contenuto - identico a 204 (nessun contenuto), ma il client dovrebbe ricaricare la vista del documento attivo.
206 Contenuto parziale : utilizzato al posto di 200 (OK) quando il client ha richiesto un'intestazione Range .
300 Scelte multiple : la risorsa richiesta è disponibile su più URI e il client deve reindirizzare la richiesta a un URI specificato nell'elenco nel corpo del messaggio.
301 Spostato in modo permanente - la risorsa richiesta non è più disponibile in questo URI e il client deve reindirizzare questa e tutte le future richieste all'URI specificato nell'intestazione Location .
302 Trovato : la risorsa risiede temporaneamente in un URI diverso. Questa richiesta dovrebbe essere reindirizzata sulla conferma dell'utente all'URI nell'intestazione Location , ma le richieste future non dovrebbero essere modificate.
303 Vedi Altro - molto simile a 302 (Trovato), ma non richiede l'input dell'utente per reindirizzare all'URI fornito. L'URI fornito deve essere recuperato con una richiesta GET.
304 Non modificato : il client ha inviato un'intestazione If-Modified-Since o simile e la risorsa non è stata modificata da quel momento; il client dovrebbe visualizzare una copia memorizzata nella cache della risorsa.
305 Usa Proxy : la risorsa richiesta deve essere nuovamente richiesta tramite il proxy specificato nel campo dell'intestazione Location .
307 Redirect temporaneo - identico a 302 (Trovato), ma i client HTTP 1.0 non supportano 307 risposte.
400 Richiesta non valida: il client ha inviato una richiesta non valida contenente errori di sintassi e deve modificare la richiesta per correggerla prima di ripeterla.
401 Non autorizzato : la risorsa richiesta non è disponibile senza autenticazione. Il client può ripetere la richiesta utilizzando un'intestazione Authorization per fornire i dettagli di autenticazione.
402 Pagamento richiesto : codice di stato riservato e non specificato per l'utilizzo da parte di applicazioni che richiedono abbonamenti utente per visualizzare il contenuto.
403 Proibito : il server comprende la richiesta, ma rifiuta di soddisfarla a causa dei controlli di accesso esistenti. La richiesta non dovrebbe essere ripetuta.
404 Non trovato - non esiste alcuna risorsa disponibile su questo server che corrisponda all'URI richiesto. Può essere usato al posto di 403 per evitare di esporre i dettagli del controllo accessi.
405 Metodo non consentito : la risorsa non supporta il metodo di richiesta (verbo HTTP); l'intestazione Allow elenca i metodi di richiesta accettabili.
406 Non accettabile : la risorsa ha caratteristiche che violano le intestazioni di accettazione inviate nella richiesta.
407 Autenticazione proxy richiesta - simile a 401 (non autorizzato), ma indica che il client deve prima autenticarsi con il proxy intermedio.
408 Timeout richiesta : il server si aspettava un'altra richiesta dal client, ma nessuna era stata fornita entro un intervallo di tempo accettabile.
409 Conflitto : la richiesta non può essere completata perché è in conflitto con lo stato corrente della risorsa.
410 Andato - simile a 404 (non trovato), ma indica una rimozione permanente. Nessun indirizzo di inoltro disponibile.
411 Lunghezza richiesta : il client non ha specificato un'intestazione Content-Length valida e deve farlo prima che il server accetti questa richiesta.
412 Precondizione non riuscita : la risorsa non è disponibile con tutte le condizioni specificate dagli header condizionali inviati dal client.
413 Richiesta Entità troppo grande - il server non è attualmente in grado di elaborare un corpo del messaggio della lunghezza inviata dal client.
414 URI di richiesta troppo lungo : il server rifiuta la richiesta perché l'URI di richiesta è più lungo di quanto il server sia disposto a interpretare.
415 Tipo di supporto non supportato : il server non supporta il MIME o il tipo di supporto specificato dal client e non può soddisfare questa richiesta.
416 Intervallo richiesto non soddisfacente : il client ha richiesto un intervallo di byte, ma il server non è in grado di fornire il contenuto a tale specifica.
417 Expectation Failed : i vincoli specificati dal client nell'intestazione Expect che il server non è in grado di soddisfare.
500 Errore interno del server : il server ha riscontrato una condizione o un errore imprevisto che impedisce di completare questa richiesta.
501 Non implementato : il server non supporta la funzionalità richiesta per completare la richiesta. Solitamente utilizzato per indicare un metodo di richiesta che non è supportato su alcuna risorsa.
502 Bad Gateway : il server è un proxy e ha ricevuto una risposta non valida dal server upstream durante l'elaborazione di questa richiesta.
503 Servizio non disponibile : il server è sottoposto a un carico elevato o in fase di manutenzione e al momento non è in grado di soddisfare questa richiesta.
504 Timeout gateway : il server è un proxy e non ha ricevuto una risposta dal server upstream in modo tempestivo.
505 Versione HTTP non supportata : il server non supporta la versione del protocollo HTTP con cui il client ha effettuato la richiesta.

Formato di risposta di base

Quando un server HTTP riceve una richiesta HTTP ben formata, deve elaborare le informazioni contenute nella richiesta e restituire una risposta al client. Una semplice risposta HTTP 1.1 può apparire come una delle seguenti, solitamente seguita da un numero di campi di intestazione e, eventualmente, da un corpo di risposta:

HTTP/1.1 200 OK \r\n
HTTP/1.1 404 Not Found \r\n
HTTP/1.1 503 Service Unavailable \r\n

Una semplice risposta HTTP 1.1 ha questo formato:

HTTP-Version Status-Code Reason-Phrase CRLF

Come in una richiesta, HTTP-Version indica la versione del protocollo HTTP in uso; per HTTP 1.1 questa deve sempre essere la stringa HTTP/1.1 .

Status-Code è un Status-Code a tre cifre che indica lo stato della richiesta del cliente. La prima cifra di questo codice è la classe di stato , che colloca il codice di stato in una delle 5 categorie di risposta [1] :

  • 1xx Informativo : il server ha ricevuto la richiesta e l'elaborazione continua
  • 2xx Successo : il server ha accettato ed elaborato la richiesta
  • Reindirizzamento 3xx : è necessario un ulteriore intervento da parte del cliente per completare la richiesta
  • Errori del client 4xx : il client ha inviato una richiesta che non era valida o che non può essere soddisfatta
  • Errori del server 5xx : la richiesta era valida, ma al momento il server non è in grado di soddisfarla

Reason-Phrase è una breve descrizione del codice di stato. Ad esempio, il codice 200 ha una frase di motivazione di OK ; il codice 404 ha una frase di Not Found . Un elenco completo di frasi di motivazione è disponibile in Parametri, sotto o nelle specifiche HTTP .

La linea termina con una coppia di trasporto a riga di ritorno, solitamente rappresentata da \r\n .

Intestazioni aggiuntive

Come una richiesta HTTP, una risposta HTTP può includere intestazioni aggiuntive per modificare o aumentare la risposta che fornisce.

Un elenco completo delle intestazioni disponibili è definito nel §6.2 della specifica . Le intestazioni più comunemente utilizzate sono:

  • Server , che funziona come un'intestazione di richiesta User-Agent per il server;
  • Location , che viene utilizzata sulle risposte di stato 201 e 3xx per indicare un URI da reindirizzare a; e
  • ETag , che è un identificativo univoco per questa versione della risorsa restituita per consentire ai client di memorizzare nella cache la risposta.

Le intestazioni di risposta vengono dopo la riga di stato e, come per le intestazioni delle richieste, sono formate come tali:

Name: Value CRLF

Name fornisce il nome dell'intestazione, come ETag o Location , e Value fornisce il valore che il server sta impostando per quella intestazione. La linea termina con un CRLF.

Una risposta con le intestazioni potrebbe essere simile a questa:

HTTP/1.1 201 Created \r\n
Server: WEBrick/1.3.1 \r\n
Location: http://example.com/files/129742 \r\n

Corpi dei messaggi

Come per i corpi delle richieste , le risposte HTTP possono contenere un corpo del messaggio. Ciò fornisce dati aggiuntivi che il cliente elaborerà. In particolare, 200 risposte OK a una richiesta GET ben formata dovrebbero sempre fornire un corpo del messaggio contenente i dati richiesti. (Se non ce n'è, 204 No Content è una risposta più appropriata).

Un corpo del messaggio è incluso dopo tutte le intestazioni e un doppio CRLF. Per quanto riguarda le richieste, la sua lunghezza in byte dovrebbe essere data con l'intestazione Content-Length . Una risposta positiva a una richiesta GET, quindi, potrebbe essere simile a questa:

HTTP/1.1 200 OK\r\n
Server: WEBrick/1.3.1\r\n
Content-Length: 39\r\n
ETag: 4f7e2ed02b836f60716a7a3227e2b5bda7ee12c53be282a5459d7851c2b4fdfd\r\n
\r\n
Nobody expects the Spanish Inquisition.


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