C’è una lunghezza massima consentita per gli URL nei vari browser web? C’è una direttiva HTTP che lo stabilisce? In questo articolo chiariamo questi aspetti legati agli URL.
Ciao mi chiamo Lorenzo Neri e sono un informatico: realizzo contenuti per aiutare le persone a padroneggiare l’arte del nuovo millennio, ovvero l’informatica!
Risposta breve: de facto sarebbe 2000 caratteri
In estrema sintesi, se la lunghezza degli URL fosse al di sotto dei 2000 caratteri, funzionerebbero virtualmente con qualsiasi combinazione di client, browser web e server.
Tuttavia, per quanto questa potrebbe essere la lunghezza massima degli URL le cose non stanno esattamente così.
Risposta lunga: prima, gli standard
Dando un occhio alla direttiva RFC 2616 relativa al protocollo HTTP, in particolare la sezione 3.2.1 recita:
“Il protocollo HTTP non impone alcun limite a priori sulla lunghezza degli URI. Il server DEVE essere in grado di gestire gli URI di qualsiasi risorsa che gestisce e DOVREBBE essere in grado di gestire URI di lunghezza non limitata se offrono risorse tramite metodo GET. Nel caso in cui l’URI sia TROPPO lungo e quindi non possa gestire la richiesta, DOVREBBE tornare un errore 414.
E qua vediamo una cosa interessante. L’errore per gestire gli URL troppo lunghi con il protocollo HTTP è il numero 414.
Tuttavia, la RFC 2616 è diventata obsoleta e sostituita dalla RFC 7230 che recita:
Varie limitazioni fatte ad hoc sulla lunghezza degli URL sono a tutti gli effetti imponibili. si RACCOMANDA che in linea generale client e server siano in grado, al minimo, di gestire richieste lunghe fino a 8000 otteti.
Cosa vuol dire tutto questo in realtà?
Quello che abbiamo visto fino ad ora sulla lunghezza massima degli URL è ciò che dovrebbero essere gli standard.
In realtà le cose non stanno esattamente così e dovremmo pensarci direttamente noi e cambiare prospettiva a riguardo.
In altre parole: gli URL estremamente lunghi in generale sono un errore. Un errore che tu in fase di progettazione non dovresti commettere.
Per avere un’ottima gestione delle risorse non dovresti mai andare oltre i 2000 caratteri perché banalmente più persone sono in grado di raggiungere il tuo sito, meglio è 😀
E di fatto, alcuni browser soffrono di limitazioni di questo tipo.
Limitazioni di Internet Explorer
Sì lo so, tutti odiano rendere un sito web compatibile con Internet Explorer, ma qua dobbiamo fare un discorso completo o non avrebbe senso.
Internet Explorer, per lo meno nelle versioni IE10 e IE9, è in grado di gestire URL fino a 2083 caratteri.
Ai motori di ricerca piace “piccolo”
Non potevo risparmiarmi questa orrenda battuta 😀
I webmaster, ovvero le figure professionali il cui obiettivo è rendere un sito web ben posizionato sui motori di ricerca, sanno bene che una sitemap fatta bene è un asso nella manica di tutto rispetto.
E di fatto, ti lascio qui alcune direttive legate al protocollo per le sitemap.
Detto in termini poco tecnichesi, le sitemap servono a informare i motori di ricerca su come è strutturato il proprio sito web, permettendo quindi di farsi indicizzare in funzione di parole chiave e argomenti trattati nel sito web stesso, oltre che la struttura delle pagine web che lo compongono.
Perciò, in linea prettamente teorica, la lunghezza massima consentita per un URL secondo i motori di ricerca, DOVREBBE essere al di sotto dei 2048 caratteri.
Ma se vogliamo seguire le linee guida di Google, dovremmo stare al di sotto dei 1855 caratteri.
Concludo, parlando anche di un altro limite.
Le CDN hanno limiti ben imposti
Ebbene sì, anche le CDN hanno i propri limiti.
Se viene utilizzato un URI troppo lungo, verrà tornato l’errore 414.
Per esempio: Fastly limita a 8Kb, CloudFront pure, mentre CloudFare a 32Kb.