Skip to main content

Evitare i reindirizzamenti

I redirect sono realizzati, di solito, utilizzando i codici 301 e 302.

Ecco un esempio delle intestazioni HTTP in una risposta 301:

HTTP/1.1 301 Moved Permanently
Location: http://www.miosito.it./newuri 

Content-Type: text/html

Tutte le informazioni necessarie per un redirect è nelle intestazioni. Il corpo della risposta è tipicamente vuoto. Nonostante i loro nomi, né 301, né una risposta 302 è memorizzata nella cache, in pratica, a meno che non vengano aggiunte delle intestazioni aggiuntive, come Scade o Cache-Control. 

Il tag meta refresh e JavaScript sono altri modi per indirizzare gli utenti a un URL diverso, ma se si deve fare un redirect, la tecnica preferita è quella di utilizzare lo standard 3xx codici di stato HTTP.

La cosa principale da ricordare è che il reindirizamento rallenta l'esperienza dell'utente. Uno dei più redirect inutili accade di frequente e gli sviluppatori web in genere non sono consapevoli. Esso si verifica quando una barra (/) manca da un URL.

Ad esempio, andando a risultati http://www.miosito.it/casa in una risposta 301 contenente un redirect al http://www.miosito.it/casa/ (notare l'aggiunta slash finale). Questo è stato corretto in Apache utilizzando Alias o mod_rewrite, o la direttiva DirectorySlash se si sta utilizzando i gestori Apache.