Inizio
/
Assistenza sito web
/
Come correggere l'errore HTTP 431 "Request Header Fields Too Large"

Come correggere l'errore HTTP 431 "Request Header Fields Too Large"

​​Ti sei mai imbattuto nell’errore HTTP 431 “Request Header Fields Too Large”? Sebbene non sia comune come altri codici di stato HTTP, è comunque abbastanza diffuso da causare problemi a un gran numero di utenti.

Potresti essere uno di loro e chiederti come gestirlo. Bene, non serve cercare oltre: questo articolo spiega cos’è l’errore HTTP 431, cosa lo causa di solito e come risolverlo. Condivideremo anche approfondimenti su quali strumenti usare e le best practice per evitarlo nelle tue sessioni future.

Il codice di stato HTTP 431 “Request Header Fields Too Large” è un errore lato client che indica che il server non può elaborare la richiesta inviata dal tuo browser a causa delle dimensioni eccessivamente grandi degli header HTTP della richiesta. Il problema può essere correlato a:

  • la dimensione totale degli header della richiesta
  • un singolo header troppo grande

Il modello richiesta-risposta è il fondamento del protocollo HTTP che alimenta Internet. Ogni volta che visiti una pagina, invii un modulo, clicchi su un pulsante, ecc., il tuo browser invia una richiesta al server web che ospita il sito web su cui ti trovi. Questa richiesta contiene degli header che definiscono le condizioni della comunicazione e contengono importanti informazioni sul client. Il server elabora la richiesta, trova le risorse appropriate e restituisce una risposta HTTP.

Di solito, tutto procede senza intoppi e dal tuo lato vedi semplicemente una rappresentazione corretta della risposta sotto forma di pagina web, immagine, video o un altro tipo di risorsa web. Tuttavia, se qualcosa non va con il server o il tuo browser, probabilmente vedrai un messaggio di errore che ti informa di cosa potrebbe essere andato storto.

Nel caso di un errore HTTP 431, il problema è specificamente correlato alle dimensioni degli header di richiesta che il tuo browser ha inviato al server: sono troppo grandi per il server web, che non può produrre una risposta adeguata. Quindi, invece di arrivare alla risorsa richiesta, vedi un messaggio di errore come quello qui sotto.

Errore HTTP 431 "Request Header Fields Too Large"

Cosa causa l’errore HTTP 431

Il problema di fondo dell’errore HTTP 431 sono gli header eccessivamente grandi di una richiesta HTTP. Ma cosa può causare la crescita così grande delle intestazioni? Vari problemi possono contribuire al codice di stato 431. Esamineremo quelli più comuni.

  • Cookie di grandi dimensioni: i cookie sono piccoli pezzi di dati che il tuo browser memorizza per ricordare le preferenze e le informazioni di accesso su diversi siti web. Quando visiti nuovamente un sito web di questo tipo, vengono inclusi negli header della richiesta.
    Tuttavia, quando ci sono troppi cookie e diventano troppo grandi, possono causare problemi. I cookie aumentano le dimensioni degli header delle richieste e, se combinati, possono superare la capacità del server di elaborarli.
  • Parametri di query URL lunghi: i parametri di query URL sono i bit di informazioni aggiunti a un URL per passare i dati al server. I siti web in genere li includono nei link URL di riferimento per scopi di monitoraggio o analisi.
    Mentre i siti web forniscono le istruzioni per generare questi parametri, il browser è responsabile della costruzione dell’URL finale. Se i parametri diventano eccessivamente lunghi, possono verificarsi problemi come l’errore HTTP 431, in cui il server non è in grado di elaborare l’URL richiesto a causa delle dimensioni dei suoi header.
  • Limiti del server: se il server di un sito non supporta intestazioni più grandi, potrebbe rifiutare le richieste, con conseguente errore HTTP 431.
  • Header eccessivamente personalizzati: alcune applicazioni o siti web (in particolare quelli contenenti codice personalizzato) potrebbero chiedere ai client di generare header personalizzati per le loro richieste. Se ci sono troppi header o contengono troppi dati, il server potrebbe non essere in grado di gestirle correttamente.

Come analizzare l’errore HTTP 431

Prima di correggere l’errore HTTP 431, è meglio esaminare cosa lo causa esattamente. In questo modo, ti impegnerai nella soluzione più appropriata e immediata.

Inizia identificando se il problema è sul lato client (il tuo browser) o sul lato server (il sito web). Prova ad accedere al sito da un browser o dispositivo diverso.

Se l’errore persiste, è probabile che si tratti di un problema lato server. In qualità di proprietario del sito web, puoi controllare i log degli errori del server. Questi log possono fornire informazioni preziose su cosa non va.

Registri degli errori del server in Site Tools

Tuttavia, se l’errore scompare, il colpevole potrebbe essere il tuo browser. Per esaminare cosa sta accadendo nel back-end, puoi esaminare le richieste nella console Dev Tools del tuo browser.

Errore HTTP 431 in Chrome Dev Tools

Come risolvere l’errore HTTP 431

Una volta che hai una migliore comprensione del problema sottostante, puoi iniziare a risolverlo. Ecco le azioni comuni per porre rimedio al codice di stato della risposta “Request Header Fields Too Large”.

Come correggere l'errore HTTP 431

Cancella i cookie e la cache del browser

Cancellare la cache e i cookie del browser è una delle prime cose che dovresti fare quando incontri l’errore HTTP 431. Eliminerai tutti i dati obsoleti o non necessari che potrebbero aver reso gli header della tua richiesta troppo grandi.

La cancellazione dei dati di navigazione dipende dal browser scelto. Di seguito, troverai i passaggi dettagliati per diversi browser e dispositivi.

Tieni presente che se scegli di eliminare tutti i cookie, verrai disconnesso da tutti i siti web. Puoi scegliere di eliminare solo i cookie del sito web che ti sta creando problemi. Ecco i passaggi per farlo su Chrome:

  1. Fai click sul menu kebab e seleziona Impostazioni.
  2. Apri la sezione Privacy e sicurezza.
  3. Seleziona Cookie di terze parti.
    Cookie di terze parti in Chrome
  4. Seleziona Visualizza tutte le autorizzazioni e i dati dei siti.
    Visualizza tutti i dati e le autorizzazioni del sito in Chrome
  5. Trova il sito nell’elenco e clicca sull’icona del Cestino. Se non la vedi, digita il nome del sito web nella casella Cerca nell’angolo in alto a destra.
    Eliminazione dei dati di un sito web
  6. Nella finestra pop-up successiva, conferma cliccando il pulsante Elimina.
    Conferma l'eliminazione dei dati del sito in Chrome

Regola i parametri di query URL

Sebbene piuttosto utili, i parametri di query URL possono rendere l’URL aperto così lungo che il server lo rifiuta e restituisce l’errore HTTP 431.

Di seguito è riportato un esempio di URL con parametri di query per il dominio tuodominio.com.

https://www.tuodominio.com/?referrer=https%3A%2F%2Fwww.tuodominio.com%2Fricerca%3Fquery%3Dmigliori%2Brunning%2Bscarpe%26categoria%3Dcalzature%26marca%3Dnike%26colore%3Dblu%26taglia%3D10%26prezzo_min%3D50%26prezzo_max%3D150%26ordinamento%3Dpopolarità%26disponibilità %3Din_stock%26user_id%3D12345%26session_id%3Dabcde12345%26referrer%3Dgoogle%26utm_source%3Dnewsletter%26utm_medium%3Demail%26utm_campaign%3Dspring_sale%26utm_content%3Dtop_deals%26tracking_id%3Dxyz789%26affiliate_id%3Dpartner123%26coupon_code%3DSPRING20

Ovviamente, l’URL in questo esempio è eccessivamente lungo a causa dei numerosi parametri di query. Per verificare se la lunghezza dell’URL sta causando l’errore HTTP 431, elimina tutti i parametri dal segno ? alla fine dell’indirizzo. Quindi, visita il sito web con l’indirizzo del nome di dominio di base tuodominio.com.

Eliminazione dei parametri di query URL

Se l’errore riguarda il tuo sito e utilizzi URL lunghi per il monitoraggio o l’analisi, questa non è una soluzione permanente. Valuta la possibilità di accorciare gli URL di monitoraggio/referrer sul tuo sito per evitare che i visitatori ricevano il codice di errore HTTP 431 “Request Header Fields Too Large”.

Se il tuo sito web è basato su WordPress, accorciare gli indirizzi URL è piuttosto semplice: ci sono numerosi plugin che offrono questa funzionalità. Alcuni di essi includono URL Shortify, Bitly, ecc.

Utilizzo dei plugin di WordPress per accorciare i parametri di query dell'URL

Modifica il codice del tuo sito web

Il passaggio successivo potrebbe rivelarsi più difficile, ma inevitabile: rivedi il codice personalizzato del tuo sito. Alcune delle sue funzioni potrebbero indicare ai client di inviare header di richiesta più grandi, causando il codice di errore 431.

I punti più importanti da considerare sono:

1. Limitare l’uso dei cookie

Limita il numero di cookie impostati dal tuo sito. Assicurati che i cookie vengano utilizzati solo quando necessario e che le loro dimensioni siano ridotte al minimo. Prendi in considerazione l’utilizzo di un archivio di sessione o di un archivio locale per i dati che non devono essere inviati a ogni richiesta.

2. Semplifica i parametri URL

Semplifica gli URL rimuovendo i parametri non necessari. Utilizza tecniche di accorciamento degli URL o codifica i parametri in modo efficiente per mantenere gli URL concisi.

3. Consolidare e minimizzare CSS e JavaScript

Sebbene i file CSS e JavaScript non influiscano direttamente sulle dimensioni degli header, il modo in cui vengono caricati può farlo. Ridurre al minimo questi file riduce la necessità di richieste multiple, il che può ridurre indirettamente la complessità e le dimensioni degli header.

4. Ottimizza le informazioni dell’header

Rivedi gli header che il tuo server invia e riceve. Rimuovi qualsiasi header ridondante o non necessaria. Assicurati che quelle personalizzate siano corte e incluse solo quando assolutamente necessario. Ciò riduce la dimensione complessiva dell’header.

5. Implementa una gestione efficiente delle sessioni

Le sessioni possono contribuire a creare header di grandi dimensioni se gli identificatori di sessione sono lunghi o numerosi. Utilizza pratiche di gestione delle sessioni efficienti per mantenere brevi gli identificatori di sessione e garantire che solo i dati essenziali della sessione siano inclusi negli header.

6. Utilizza la compressione per gli header

Mentre la compressione Gzip è solitamente utilizzata per i corpi delle risposte, alcuni server supportano anche la compressione delle intestazioni. Controlla se il tuo server supporta questa funzionalità e abilitala per ridurre le dimensioni degli header.

Le compressioni Brotli e Gzip sono abilitate di default su tutti i server SiteGround. Per maggiori informazioni, leggi questo post del blog sulle differenze tra la compressione Brotli e Gzip.

Controlla e modifica la politica sui cookie del tuo sito web

I cookie permettono di offrire un’esperienza personalizzata e unica a ciascun visitatore del tuo sito. Tuttavia, se non vengono gestiti correttamente, le policy sui cookie possono far accumulare troppi cookie nei browser degli utenti. Alla lunga, questi dati eccessivi possono sovraccaricare gli header delle richieste, causando l’errore HTTP 431.

Esamina attentamente le tue policy sui cookie: potrebbero essere facilitate da codice personalizzato o da un plugin (per WordPress). Valuta la possibilità di modificare le impostazioni dei cookie per assicurarti che generino un numero gestibile di cookie.

Conclusione

Il codice di stato HTTP 431 “Request Header Fields Too Large” è un errore lato client che indica che il server web non è riuscito a elaborare gli header della richiesta a causa delle loro grandi dimensioni. Può essere fastidioso, ma non è sicuramente insormontabile. Per risolverlo è necessario ottimizzare il codice del sito, gestire efficacemente le policy sui cookie e pulire regolarmente i cookie del browser.

Condividi questo articolo