L’errore “Bad Request: Your browser sent a request that this server could not understand. Size of a request header field exceeds server limit” indica che il browser ha inviato una richiesta al server che quest’ultimo non รจ stato in grado di comprendere a causa della dimensione eccessiva di uno o piรน campi nell’intestazione HTTP della richiesta.
Indice
- Quando si verifica l’errore HTTP 400: Size of a request header field exceeds server limit?
- Troppi cookie possono produrre l’errore Size of a request header field exceeds server limit
- Come risolvere l’errore Size of a request header field exceeds server limit
- Agire sul server per aumentare il limite delle intestazioni HTTP accettate
Quando si verifica l’errore HTTP 400: Size of a request header field exceeds server limit?
Questo errore รจ associato al codice di stato HTTP 400 il quale sta ad indicare che la richiesta inviata dal client รจ “cattiva” (รจ un errore del tipo Bad Request), cioรจ non รจ valida e non puรฒ essere elaborata dal server. La specifica “Size of a request header field exceeds server limit” indica che la causa dell’errore รจ da ricercare nell’eccessiva lunghezza di qualche campo dell’intestazione HTTP presente nella richiesta del browser.
Molti server hanno un limite di dimensione per le intestazioni della richiesta HTTP e se una di queste supera questo limite, il server puรฒ rispondere, appunto, con un errore di tipo Bad Request.
ร importante notare che questo errore non dipende dalla tecnologia o dal linguaggio di programmazione utilizzato per inviare la richiesta, ma dipende dalla specifica configurazione del server e dalle limitazioni imposte dallo stesso protocollo HTTP.
Troppi cookie possono produrre l’errore Size of a request header field exceeds server limit
La causa piรน comune che puรฒ portare all’errore Bad Request: Your browser sent a request that this server could not understand. Size of a request header field exceeds server limit รจ la quantitร eccessiva di cookie trasmessi dal client.
I cookie sono piccoli file di testo che vengono memorizzati sul computer dell’utente da un sito web per identificare il browser durante le visite successive. Ogni volta che l’utente accede a un sito web, il browser invia i cookie associati a quel sito web nelle intestazioni della richiesta HTTP. Se ci sono troppi cookie associati a un sito web, le intestazioni della richiesta potrebbero diventare troppo grandi per essere gestite correttamente dal server, causando l’errore “Size of a request header field exceeds server limit”.
Come risolvere l’errore Size of a request header field exceeds server limit
Per risolvere l’errore รจ possibile agire sia a livelo della “richiesta” che della “risposta”. Questo errore, infatti, puรฒ verificarsi per diversi motivi, tra cui:
- Intestazioni troppo grandi: se stai inviando una richiesta con intestazioni troppo grandi, il server potrebbe rifiutarla a causa del limite di dimensioni importo dallo stesso protocollo HTTP. Se l’errore รจ nel volume della tua richiesta dovresti rivederla eliminando eventuali dati inutili o comprimendola opportunamente per ridurne le dimensioni.
- Troppi cookie: se il tuo briwser sta trasmettendo una richiesta con “troppi cookie” puรฒ essere che il server la ritenga non ricevibile. Questo problema รจ una specifica del punto precedente (le intestazioni sono troppo grandi perchรฉ ci sono troppi cookie). In questo caso per risolvere l’errore potrebbe essere sufficiente effettuare una pulizia dei cookie sul browser e poi ricaricare la pagina.
- Configurazione del server errata: il limite di dimensione delle intestazioni puรฒ essere stato impostato in modo troppo restrittivo sul server. In questo caso, sarร necessario contattare l’amministratore del server per aumentare tale limite.
Agire sul server per aumentare il limite delle intestazioni HTTP accettate
Come detto il problema puรฒ essere affrontato anche dal punto di vista dell’amministratore di sistema. Agendo sulla configurazione del server รจ possibile, infati, aumentare tale limite mitigando la possibilitร che si verifichi questo errore. Si tenga presente, tuttavia, che un valore troppo elevato potrebbe influire negativamente sulle prestazioni del sistema.
Aumentare il limite delle intestazioni accettate in Apache
Per aumentare le dimensioni delle intestazioni accettate su Apache, รจ necessario modificare la configurazione del server. Ecco i passaggi da seguire:
- Accedi al file di configurazione di Apache: solitamente si trova in una posizione come “/etc/httpd/conf/httpd.conf” o “/etc/apache2/httpd.conf”.
- Cerca la seguente riga: “LimitRequestFieldSize”. Questa riga controlla la dimensione massima di ogni singolo campo di intestazione nella richiesta HTTP.
- Modifica il valore di “LimitRequestFieldSize” impostandolo a un valore piรน alto. Ad esempio, per impostare il limite a 8KB, dovresti modificare la riga come segue:
LimitRequestFieldSize 8192
- Salva il file di configurazione e riavvia Apache per rendere effettive le modifiche.
Aumentare il limite delle intestazioni accettate in Nginx
Per aumentare il limite delle intestazioni accettate in Nginx, รจ necessario modificare la configurazione del server. Ecco i passaggi da seguire:
- Accedi al file di configurazione di Nginx: solitamente si trova in una posizione come “/etc/nginx/nginx.conf”.
- Per aumentare il limite a 8 KB (divisi in 4 parti) aggiungi le seguenti righe all’interno del blocco “http” della configurazione:
large_client_header_buffers 4 8k;
- Salva il file di configurazione e riavvia Nginx per rendere effettive le modifiche.
Aumentare il limite delle intestazioni accettate in IIS
Per aumentare il limite delle intestazioni accettate in IIS (Internet Information Services), รจ necessario modificare la configurazione del server. Ecco i passaggi da seguire:
- Apri la console di gestione IIS e seleziona il server desiderato
- Clicca con il tasto destro del mouse su “Siti” e seleziona “Impostazioni sito”
- Clicca su “Intestazioni HTTP” e modifica il valore “Dimensioni massime dei campi di intestazione richiesta”. Questo imposterร la dimensione massima delle intestazioni (in kilobyte)
- Fai clic su “OK” per salvare le modifiche
- Riavvia IIS per rendere effettive le modifiche