429

Too Many Requests

Ufficiale
Il server ha ricevuto troppe richieste

Specifica del codice di stato HTTP 429

Il codice di stato 429 Too Many Requests indica che l'utente ha inviato troppe richieste in un determinato lasso di tempo ("rate limiting").

Le rappresentazioni della risposta DOVREBBERO includere dettagli che spieghino la condizione e POTREBBERO includere un'intestazione Retry-After che indichi quanto tempo attendere prima di effettuare una nuova richiesta.

Ad esempio:

HTTP/1.1 429 Too Many Requests Troppe richieste
Content-Type: text/html
Retry-After: 3600

Nota che questa specifica non definisce come il server di origine identifica l'utente, né come conta le richieste. Ad esempio, un server di origine che limita la velocità delle richieste può farlo in base al conteggio delle richieste per risorsa, per l'intero server o anche per un insieme di server. Allo stesso modo, potrebbe identificare l'utente tramite le sue credenziali di autenticazione o un cookie stateful.

Le risposte con il codice di stato 429 Too Many Requests NON DEVONO essere memorizzate da una cache.

Fonte / Citazione da: Il codice di stato HTTP 429 Too Many Requests è specificato dalla sezione 4 di RFC6585.

Come lanciare un codice di stato 429 con PHP?

Per lanciare il codice di stato HTTP 429 su una pagina web, si può usare la funzione PHP http_response_code. La sintassi è la seguente: http_response_code(429) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Test del codice di stato HTTP 429

Per poter visualizzare il codice di stato HTTP (in questo caso 429 Too Many Requests) e altre informazioni sul lato client, è necessario aprire la console di sviluppo con F12. Quindi navigare nella scheda "Rete". Ora la pagina può essere aperta, il sito web (ad esempio index.php) dovrebbe essere visibile nella scheda Rete. Questo deve essere selezionato e poi deve essere selezionata la sezione Herder. L'utente vedrà quindi il seguente risultato:

Codice di stato 429 Too Many Requests
Panoramica
URL: https://http-statuscode.com/errorCodeExample.php?code=429
Stato: 429 Too Many Requests
Quelle: Network
Indirizzo IP: XX.XX.XX.XX
Codice di stato 429 Too Many Requests

Come creare la propria pagina di errore per il codice di stato 429

Creare la propria pagina di errore 429 Too Many Requests è relativamente facile sia con il server web "Apache" che con "NGINX".

Apache Webserver

Il server web "Apache" è uno dei server web più comuni su Internet. Per creare la propria pagina di errore 429 Too Many Requests in "Apache", è necessario apportare la seguente modifica al file seguente.

File: .htaccess
ErrorDocument 429 /errors/429.html

NGINX Webserver

Simile al server web "Apache", anche "NGINX" è ampiamente utilizzato su Internet. Per creare la propria pagina di errore 429 Too Many Requests in "NGINX", è necessario apportare la seguente modifica al file seguente.

File: sites-enabled/default
error_page 429 /429.html;
location = /429.html {
    root /usr/share/nginx/html;
    internal;
}

Compatibilità con i browser del codice di stato 429

Chrome no data
Edge no data
Firefox no data
Opera no data
Safari no data
Chrome Android no data
Firefox for Android no data
Opera Android no data
Safari on iOS no data
Internet no data
WebView Android no data

Costanti nei linguaggi di programmazione

HttpStatusCode.TooManyRequests
http.StatusTooManyRequests
Response::HTTP_TOO_MANY_REQUESTS
:too_many_requests

Articoli del blog

SEO e codici di stato HTTP: Un'analisi completa

Ottimizzare un sito web per i motori di ricerca (SEO) è un'impresa complessa. Uno degli aspetti spesso trascurati ma cruciali per un buon posizionamento sono i codici di stato HTTP. Questi piccoli ...

Protezione dagli attacchi attraverso il file xmlrpc.php di WordPress

Sezione 1: Cos'è il file xmlrpc.php e dove si trova? Il file xmlrpc.php è un componente importante di WordPress, uno dei principali sistemi di gestione dei contenuti (CMS) per la creazione e la ges...

Autore: Tony Brüser
Autore: Tony Brüser

Tony Brüser è un entusiasta sviluppatore web con una predilezione per i codici di stato HTTP.

LinkedInGitHub