IE8, mancata visualizzazione dei PDF in HTTPS

luca 08/11/2013 0

Negli ultimi giorni al lavoro mi sono scontrato con uno strano problema: una applicazione web, in esecuzione all’interno di Tomcat, genera dinamicamente dei files PDF.

Una volta attivata la connessione con protocollo sicuro (HTTPS), tali PDF non erano più visibili da Internet Explorer 8: Adobe Reader era correttamente eseguito ma la finestra del browser rimaneva bianca.

Il problema non si presentava con Internet Explorer 9 o con altri browsers (Firefox, Chrome…).

Dopo vari tentativi, abbiamo scoperto che il problema risiedeva in due headers del protocollo HTTP che forzavano il browser a non memorizzare la pagina nella cache:

Per prima cosa, essendo l’applicazione bilanciata tramite un appliance F5 LTM, ho preparato una iRule per rimuovere tali headers:

when HTTP_RESPONSE {
 
if { [HTTP::header Content-Type] equals "application/pdf" } {
    HTTP::header remove "Cache-Control"  
    HTTP::header remove "Pragma" 
  }
}

Infine è stato sviluppato un Filter per Tomcat che – se identifica tramite user-agent il browser Internet Explorer 8 – rimuove tali headers grazie ad una ServletResponse custom.

Leave A Response »

Questo sito usa i cookie per poterti offrire una migliore esperienza di navigazione maggiori informazioni

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi