I codici di risposta
Un breve elenco dei codici numerici relativi all'esito della request e presenti nell'header della response possono tornarci utili per capire cosa sta accadendo nella nostra applicazione.
Successo
- 200: indica il successo e la risposta corretta da parte del server.
Risorsa spostata
- 301 Moved Permanently: la risorsa richiesta è stata rimossa permanentemente.
- 302 Moved Temporary: la risorsa richiesta è stata rimossa temporaneamente, è accessibile a un nuovo indirizzo specificato nel campo location.
Errori del Client
- 400 Bad Request: la request non è stata capita dal server.
- 401 Unauthorized: la risorsa richiede l'autenticazione dell'utente, il client non ha fornito credenziali valide per l'autenticazione.
- 403 Forbidden: il server ha riconosciuto la request ma si rifiuta di rispondere (per esempio se per impostazione del Web server l' accesso a una cartella per visualizzarne il contenuto è vietato).
- 404 Not Found: la risorsa non è stata trovata.
Errori del server
- 500 Internal server error: il server ha riscontrato un errore interno processando la request.
- 501 Not Implemented: il server non supporta la request.
- 503 Service Unavailable: il servizio non è disponibile.
I metodi del protocollo HTTP
Il protocollo HTTP implementa diversi metodi, i più utilizzati sono GET e POST. Il metodo Get è utilizzato per il recupero di risorse e può essere utilizzato per inviare parametri tramite la struttura dell'Url. L'URL che utilizza il metodo Get viene "loggata" nel Web browser e nel log degli accessi del Web server. Viene anche trasmesso nell'header referer quando viene utilizzato come link. Non dovrebbe mai essere utilizzato per trasmettere informazioni sensibili.
Il metodo Post è utilizzato per effettuare azioni, non viene salvato nella cache del browser (è per questo per esempio che ,durante la navigazione di un sito web, tentando di tornare alla pagina precedente spesso riceviamo un messaggio di errore che ci comunica che la pagina è scaduta)
Esistono altri metodi che possono tornarci utili.
Il metodo Head è quasi identico al metodo Get con l'unica differenza che non restituisce i dati che sarebbero tipici di una chiamata. Questa caratteristica può tornare utile per individuare il server sul quale gira una applicazione Web senza dare troppo nell'occhio.
Il metodo Options permette di effettuare una richiesta e di ottenere i metodi permessi dal Web server, questo metodo può tornare utile per enumerare le funzionalità di un settore dell'applicazione.
Il metodo Put permette d'inserire un "payload" (un carico) all'interno di una request, per esempio uno script.
Il metodo trace è utilizzato per diagnostica, restituisce l'esatto contenuto della request all'interno del body della response, utile per individuare dei proxy web.