2015-04-30 12 views
7

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?

+1

L'impostazione del valore dell'intestazione 'Content-Location' non è affatto utile? – niemiro

+1

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

risposta

Problemi correlati