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