I PDF in Firefox e Opera vengono visualizzati come HTML

Un cliente mi ha segnalato il seguente problema: “sul sito il download di documenti in PDF funziona correttamente con Internet Explorer mentre Firefox ed Opera visualizzano una pagina bianca piena di simboli ASCII”.

Il problema era nella configurazione dei MIME Types in IIS 6.

I MIME types indicano al browser come deve essere gestito un file che ricevono da un server, sia esso html, css, jpg, pdf o così via.

A livello di root di IIS è definito un elenco di coppie estensione-MIME type che viene ereditato da tutti i web site definiti in IIS.

 

IIS-Properties
IIS-MIME-Types

A livello di web site o di singola directory è però possibile ridefinire questo elenco per uno o più MIME types ed in questo modo vengono gestiti SOLO i MIME types definiti a livello di sito o directory.

Ed il problema era proprio una errata ridefinizione dei MIME type nel sito in questione. In particolare era stato definito il tipo più generico “.*” come MIME “text/html”. In questo modo tutti i file venivano trattati come se fossero dei file HTML.

A questo punto mi sono chiesto perchè il tutto funzionasse con IE ma non con Opera e Firefox. La riposta è nel fatto che i browser che si basano su Gecko utilizzano rigidamente il MIME type per decidere come gestire il file che ricevono e quindi in questo caso visualizzavano il pdf come se si trattasse di un file HTML.
Lo stesso non accade invece in Internet Explorer che cerca di “indovinare” il MIME type in base al file ricevuto e quindi in questo caso mostrava correttamente il PDF.

Per ulteriori informazioni:

Share

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.