I 301-reindirizzare un collegamento per tracciare un clic.Il reindirizzamento in Internet Explorer 11 a un PDF porta a più richieste
http://myurl.tld/redirect.php?target=http%3A%2F%2Ftarget.tld%2Ffile.pdf
a monitorare la quantità di chiamate e alcune altre statistiche su redirect.php
. Funziona bene se non reindirizzamento a un file PDF in Internet Explorer (ho testato v11, potrebbe interessare altre versioni).
In questo caso, redirect.php
traccia dozzine di clic in pochi secondi effettuati dallo stesso utente.
Usando il violinista ho scoperto che il pdf viene restituito in blocchi (codice di stato HTTP 206 Partial Content
), il che significa che vengono fatte diverse richieste invece di una singola.
Normalmente, ci si aspetta che il browser effettui le chiamate successive a http://target.tld/file.pdf
quando target.tld
recapita il pdf in blocchi e questo è esattamente ciò che fa la maggior parte dei browser.
Tuttavia, Internet Explorer decide di richiedere http://myurl.tld/redirect.php?target=http%3A%2F%2Ftarget.tld%2Ffile.pdf
ancora e ancora e ancora anziché richiedere il sito di destinazione.
Ora le mie domande:
Come posso dire IE non chiamare myurl.tld
ma invece target.tld
?
Posso modificare le intestazioni nel reindirizzamento 301, in modo che IE sappia richiedere il file da target.tld
?
L'impostazione del valore dell'intestazione 'Content-Location' non è affatto utile? – niemiro
Stai usando 'Cache-Control: no-cache'? Penso che IE onori questo e possa evitare attivamente il caching del reindirizzamento. Anche in situazioni in cui ha senso, come i trasferimenti a distanza di contenuti. – m4ktub