Conversione fra estensioni e tipi di supporto

Strumento che cerca e converte in entrambi i sensi fra estensione del file e tipo di supporto, indicato nelle intestazioni come Content-Type. Inserendo «.png» oppure «png» mostra il tipo di supporto; inserendo «image/png» mostra l'estensione corrispondente. Comprende una tabella di circa cinquanta corrispondenze fra immagini, audio, filmati e documenti.

Tabella delle corrispondenze fra estensioni e tipi di supporto
Estensione Tipo di supporto Categoria
.jpg image/jpeg Immagini
.jpeg image/jpeg Immagini
.png image/png Immagini
.gif image/gif Immagini
.webp image/webp Immagini
.svg image/svg+xml Immagini
.bmp image/bmp Immagini
.ico image/vnd.microsoft.icon Immagini
.tiff image/tiff Immagini
.mp3 audio/mpeg Audio
.wav audio/wav Audio
.ogg audio/ogg Audio
.flac audio/flac Audio
.aac audio/aac Audio
.m4a audio/mp4 Audio
.mp4 video/mp4 Filmati
.webm video/webm Filmati
.avi video/x-msvideo Filmati
.mov video/quicktime Filmati
.mkv video/x-matroska Filmati
.pdf application/pdf Documenti
.doc application/msword Documenti
.docx application/vnd.openxmlformats-officedocument.wordprocessingml.document Documenti
.xls application/vnd.ms-excel Documenti
.xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet Documenti
.ppt application/vnd.ms-powerpoint Documenti
.pptx application/vnd.openxmlformats-officedocument.presentationml.presentation Documenti
.txt text/plain Documenti
.rtf application/rtf Documenti
.odt application/vnd.oasis.opendocument.text Documenti
.zip application/zip Archivi
.rar application/vnd.rar Archivi
.7z application/x-7z-compressed Archivi
.tar application/x-tar Archivi
.gz application/gzip Archivi
.html text/html Web e testo
.css text/css Web e testo
.js text/javascript Web e testo
.json application/json Web e testo
.xml application/xml Web e testo
.csv text/csv Web e testo
.md text/markdown Web e testo
.woff font/woff Caratteri tipografici
.woff2 font/woff2 Caratteri tipografici
.ttf font/ttf Caratteri tipografici
.otf font/otf Caratteri tipografici
.eot application/vnd.ms-fontobject Caratteri tipografici
.exe application/x-msdownload Eseguibili e altro
.apk application/vnd.android.package-archive Eseguibili e altro
.dmg application/x-apple-diskimage Eseguibili e altro
.iso application/x-iso9660-image Eseguibili e altro
.bin application/octet-stream Eseguibili e altro

Che cosa sono i tipi di supporto e le estensioni

Un tipo di supporto (MIME) è una stringa come «image/png» o «application/pdf» che i computer usano per descrivere che genere di file si stanno scambiando. Quando un server web invia un file a un browser, include questo tipo di supporto nell'intestazione della risposta HTTP insieme all'estensione, in modo che il browser possa decidere se mostrarlo, scaricarlo oppure rifiutarsi di eseguirlo.

Questo strumento permette di cercare il tipo di supporto a partire da un'estensione, o l'estensione a partire da un tipo di supporto, in entrambi i sensi. Comprende una tabella di riferimento di circa cinquanta corrispondenze fra immagini, audio, filmati, documenti, archivi compressi, formati web e font — utile quando si scrive un file di configurazione del server, si imposta l'attributo accept di un modulo di caricamento, oppure si verifica l'intestazione Content-Type di una risposta API, senza dover cercare ogni volta su internet.

Come si usa

  1. Inserite l'estensione o il tipo di supporto da cercare Potete inserire un'estensione come «.png» o «png», oppure un tipo di supporto come «image/png»: funzionano entrambe le direzioni.
  2. Consultate l'esito della conversione L'estensione o il tipo di supporto corrispondente viene mostrato automaticamente in base a quanto inserito.
  3. Sfogliate la tabella se non sapete cosa cercare Scorrete la tabella di riferimento più sotto, organizzata per categoria, per trovare il formato desiderato.
  4. Copiate il valore per il vostro caso d'uso Incollatelo direttamente in un file di configurazione del server o in un attributo accept di HTML.

Consigli per sfruttarlo al meglio

  • L'estensione si può cercare indifferentemente con o senza il punto iniziale: valgono sia «.png» sia «png».
  • Cercando per tipo di supporto, inserite la stringa completa con la barra, come «image/png», e comparirà subito l'estensione corrispondente.
  • Una stessa estensione può corrispondere a più tipi di supporto — l'estensione .ico, per esempio, si trova indicata anche come image/x-icon — perciò tenete presente che il valore può variare secondo l'implementazione del servente.
  • Nel configurare l'intestazione Content-Type di una risposta HTTP oppure l'attributo accept di un modulo di caricamento, potete copiare e incollare direttamente da questa tabella.
  • A parità di estensione, il tipo di supporto associato può differire secondo il sistema operativo o il programma: nel dubbio consultate anche il registro ufficiale dell'organismo internazionale che assegna i numeri di Internet.

Casi d'uso

Quando si scrive un file di configurazione del server web

Verificate la stringa esatta e corretta del tipo di supporto da assegnare a una data estensione nel mime.types di Apache o nella configurazione di Nginx.

Quando si crea un modulo di caricamento file

Consultate l'elenco completo dei tipi di supporto da accettare per l'attributo accept di un elemento input HTML o per la convalida lato server.

Quando si convalida una risposta API

Verificate rapidamente se l'intestazione Content-Type restituita da un server corrisponde a quanto previsto.

Di fronte a un tipo di supporto sconosciuto

Cercate un tipo di supporto sconosciuto trovato in un log o in un messaggio di errore per scoprire a quale genere di file corrisponde.

Glossario

Tipo di supporto (MIME)
Una stringa nel formato «tipo/sottotipo» che descrive il genere di un file, come image/png o application/pdf.
Content-Type
Il nome del campo di intestazione usato per trasmettere un tipo di supporto in una risposta HTTP o in un messaggio di posta. Il suo valore coincide con il tipo di supporto stesso.
Estensione
L'identificatore alla fine di un nome di file, come «.png» o «.pdf», che sistemi operativi e applicazioni usano come indizio del tipo di file.
IANA
Sigla di Internet Assigned Numbers Authority, l'organismo internazionale che registra e gestisce ufficialmente i tipi di supporto (media type).
MIME sniffing
Una tecnica con cui il browser esamina i primi byte di un file e li confronta con firme di formati noti per indovinarne il tipo di supporto.
application/octet-stream
Un tipo di supporto generico per dati binari di natura non specificata. I browser trattano solitamente i file di questo tipo come un download.

Domande frequenti

In sostanza indicano la stessa cosa. «Tipo di supporto» è il nome della stringa in sé, come «image/png»; «Content-Type» è il nome del campo con cui quella stringa viaggia nelle intestazioni di una risposta HTTP o di un messaggio di posta.

Sì. I file .ico, per esempio, si trovano indicati sia come image/vnd.microsoft.icon sia come image/x-icon. Ciò accade per i formati datati, la cui standardizzazione formale è arrivata in ritardo, e per quelli che più fornitori hanno definito ciascuno a modo proprio.

Il navigatore non riesce a interpretare correttamente il file e possono verificarsi problemi: l'immagine non compare, il PDF viene scaricato anziché mostrato, lo script non viene eseguito. Occorre verificare e correggere la configurazione del servente web.

Navigatori e sistemi operativi possono ricorrere all'annusamento del tipo: leggono i primi byte del file, i cosiddetti numeri magici, e li confrontano con le firme dei formati noti per dedurne il tipo. Per ragioni di sicurezza, però, molti navigatori danno la precedenza al Content-Type quando il servente lo dichiara esplicitamente.

È il tipo di supporto generico che indica dati binari di genere ignoto. Si usa come ripiego quando il servente non riesce a determinare un tipo preciso, e il navigatore tratta di norma questi file come qualcosa da scaricare.
Tool-kun

A proposito — perché sono nati i tipi di supporto

I tipi di supporto, noti anche come tipi MIME dalle estensioni multiuso per la posta Internet, furono concepiti all'inizio degli anni Novanta proprio per allegare immagini, suoni e file binari ai messaggi di posta elettronica. La posta di allora seguiva una specifica pensata per il solo testo ASCII e non poteva trasmettere tali e quali dati binari: occorreva combinarla con la codifica Base64 e insieme comunicare al destinatario di che genere di dati si trattasse. Quel meccanismo che ne indica il genere è appunto il tipo di supporto.

Il tipo di supporto si esprime su due livelli, nella forma «tipo/sottotipo», per esempio image/png. Il tipo è la grande categoria — image, audio, video, text, application — e il sottotipo il formato specifico: una struttura che consente di estendere il sistema aggiungendo semplicemente un nuovo sottotipo ogni volta che nasce un formato.

Dalla posta elettronica i tipi di supporto sono poi passati nella specifica di HTTP, affermandosi come il mezzo con cui un servente web dichiara al navigatore, nell'intestazione Content-Type della risposta, come debba interpretare il file. Poiché il navigatore giudica il genere del file non dalla sola estensione ma anche da questa intestazione, un'impostazione errata sul servente può produrre comportamenti indesiderati — il file viene scaricato anziché mostrato, lo script non viene eseguito — pur essendo corretta l'estensione.

Oggi il registro ufficiale dei tipi di supporto è tenuto dall'organismo internazionale che assegna i numeri di Internet e i nuovi tipi si registrano attraverso una procedura formale. La corrispondenza fra estensioni e tipi di supporto, invece, non è imposta da quell'organismo e in buona parte si è consolidata come consuetudine pratica: di qui l'utilità di tabelle di riferimento come questa.