Errori e Codici di Risposta
Suggerimenti Generali
- assicuratevi che l'URL testato sia attivo e pubblicamente disponibile prima di eseguire qualsiasi test di carico o prestazioni
- verificate il metodo HTTP (GET è la richiesta effettuata dai browser quando si accede a un sito web o un endpoint API)
- iniziate con un piccolo numero di client (25-50 client) e controllate il numero di errori
- provate ad aumentare gradualmente il numero di client per capire come la vostra API, Sito Web o WebApp si comporta
- controllate Tempo, Latenza, Hit, Throughput ed Errori per ogni test per verificare le prestazioni del vostro sistema
Codici di risposta 3xx (reindirizzamento)
- se l'URL aggiunto per il test di carico effettua reindirizzamenti verso un altro URL
- se state testando il reindirizzamento, provate a eseguire il test di carico sull'URL finale, dopo che i reindirizzamenti sono terminati
- rimuovete la casella "Follow redirects" accanto all'URL se volete evitare di reindirizzare le vostre richieste ed eseguire il test di carico sull'URL aggiunto
Codici di risposta 4xx (errori lato client)
- l'URL è corretto e pubblicamente disponibile
- verificate il metodo HTTP utilizzato: GET, POST, PUT o DELETE (GET è la richiesta effettuata dai browser quando si accede a un sito web o un endpoint API)
- gli header della richiesta, i cookie, i parametri di query o i parametri di autenticazione HTTP di base sono impostati correttamente
Codici di risposta 5xx (errori lato server)
- il codice di risposta, di solito se l'API, il Sito Web, l'Applicazione Web o Mobile testata non gestisce correttamente il carico, inizierete a ricevere risposte 503 Service Unavailable.
- provate a ridurre il numero di client (utenti simultanei) per il vostro test di carico e controllate i limiti del vostro sistema
Per maggiori informazioni su come testare il carico dei vostri siti web e API nel cloud con lo strumento di Test di Carico LoadFocus, consultate il Servizio di Test di Carico o il Servizio di Test di Carico JMeter.
Codici di Risposta (Elenco completo)
Secondo (w3schools.com)[https://w3schools.com], ecco un elenco dei messaggi di stato HTTP che potrebbero essere restituiti durante l'esecuzione di un test di carico per Endpoint API, Siti Web, Applicazioni Web e Mobile:
1xx: Informazione
- 100 Continue Il server ha ricevuto gli header della richiesta e il client dovrebbe procedere a inviare il corpo della richiesta
- 101 Switching Protocols Il richiedente ha chiesto al server di cambiare protocolli
- 103 Checkpoint Utilizzato nella proposta di richieste ripristinabili per riprendere richieste PUT o POST interrotte
2xx: Successo
- 200 OK La richiesta è andata a buon fine (questa è la risposta standard per richieste HTTP riuscite)
- 201 Created La richiesta è stata soddisfatta e una nuova risorsa è stata creata
- 202 Accepted La richiesta è stata accettata per l'elaborazione, ma l'elaborazione non è stata completata
- 203 Non-Authoritative Information La richiesta è stata elaborata con successo, ma sta restituendo informazioni che potrebbero provenire da un'altra fonte
- 204 No Content La richiesta è stata elaborata con successo, ma non sta restituendo alcun contenuto
- 205 Reset Content La richiesta è stata elaborata con successo, ma non sta restituendo alcun contenuto e richiede che il richiedente resetti la vista del documento
- 206 Partial Content Il server sta consegnando solo una parte della risorsa a causa di un header range inviato dal client
3xx: Reindirizzamento
- 300 Multiple Choices Un elenco di link. L'utente può selezionare un link e andare a quella posizione. Massimo cinque indirizzi
- 301 Moved Permanently La pagina richiesta è stata spostata a un nuovo URL
- 302 Found La pagina richiesta è stata temporaneamente spostata a un nuovo URL
- 303 See Other La pagina richiesta può essere trovata sotto un URL diverso
- 304 Not Modified Indica che la pagina richiesta non è stata modificata dall'ultima richiesta
- 306 Switch Proxy Non più utilizzato
- 307 Temporary Redirect La pagina richiesta è stata temporaneamente spostata a un nuovo URL
- 308 Resume Incomplete Utilizzato nella proposta di richieste ripristinabili per riprendere richieste PUT o POST interrotte
4xx: Errore del Client
- 400 Bad Request La richiesta non può essere soddisfatta a causa di sintassi errata
- 401 Unauthorized La richiesta era legale, ma il server rifiuta di rispondere. Da utilizzare quando l'autenticazione è possibile ma è fallita o non è stata ancora fornita
- 402 Payment Required Riservato per uso futuro
- 403 Forbidden La richiesta era legale, ma il server rifiuta di rispondere
- 404 Not Found La pagina richiesta non è stata trovata ma potrebbe essere nuovamente disponibile in futuro
- 405 Method Not Allowed È stata fatta una richiesta a una pagina utilizzando un metodo di richiesta non supportato da quella pagina
- 406 Not Acceptable Il server può generare solo una risposta non accettata dal client
- 407 Proxy Authentication Required Il client deve prima autenticarsi con il proxy
- 408 Request Timeout Il server ha esaurito il tempo di attesa per la richiesta
- 409 Conflict La richiesta non ha potuto essere completata a causa di un conflitto nella richiesta
- 410 Gone La pagina richiesta non è più disponibile
- 411 Length Required Il "Content-Length" non è definito. Il server non accetterà la richiesta senza di esso
- 412 Precondition Failed La precondizione data nella richiesta è stata valutata come falsa dal server
- 413 Request Entity Too Large Il server non accetterà la richiesta perché l'entità della richiesta è troppo grande
- 414 Request-URI Too Long Il server non accetterà la richiesta perché l'URL è troppo lungo. Si verifica quando si converte una richiesta POST in una richiesta GET con informazioni di query lunghe
- 415 Unsupported Media Type Il server non accetterà la richiesta perché il tipo di media non è supportato
- 416 Requested Range Not Satisfiable Il client ha richiesto una porzione del file, ma il server non può fornire quella porzione
- 417 Expectation Failed Il server non può soddisfare i requisiti del campo header Expect della richiesta
5xx: Errore del Server
- 500 Internal Server Error Un messaggio di errore generico, dato quando nessun messaggio più specifico è adatto
- 501 Not Implemented Il server non riconosce il metodo di richiesta o non ha la capacità di soddisfare la richiesta
- 502 Bad Gateway Il server agiva come gateway o proxy e ha ricevuto una risposta non valida dal server a monte
- 503 Service Unavailable Il server è attualmente non disponibile (sovraccarico o inattivo)
- 504 Gateway Timeout Il server agiva come gateway o proxy e non ha ricevuto una risposta tempestiva dal server a monte
- 505 HTTP Version Not Supported Il server non supporta la versione del protocollo HTTP utilizzata nella richiesta
- 511 Network Authentication Required Il client deve autenticarsi per ottenere l'accesso alla rete
Altro: Errore di Connessione
L'URL aggiunto per il test di carico non è stato raggiungibile per uno dei seguenti motivi:
- l'URL non è accessibile pubblicamente (supportiamo solo URL accessibili pubblicamente tramite Internet)
- il sistema è andato in crash per qualche motivo