Estensione (file)
Da Wikipedia, l'enciclopedia libera.
Il termine estensione indica, in informatica, una breve stringa di caratteri alfanumerici aggiunti dopo il nome di un file e separati da quest'ultimo da un punto. L'estensione, essendo aggiunta alla fine del nome, può essere chiamata anche suffisso. Essa permette all'utente di un computer, ma anche ad alcuni software, di distinguere tra i vari formati di file.
Le estensioni sono utilizzate in maniera significativa in tutti i sistemi operativi Microsoft, da MSDOS a Windows XP. Vi sono invece sistemi operativi che adottano metodi differenti di identificazione dei tipi di file, per esempio Unix (che impiega con scopi simili sia i diritti d'accesso che il magic number) e i sistemi operativi del Macintosh precedenti a Mac OS X (che usano type code e creator code).
Indice |
[modifica] L'utilizzo delle estensioni
L'estensione di un file serve a capire di fronte a che tipo di file ci si trovi. Nei sistemi operativi che ne fanno un uso considerevole, nonostante un'estensione possa essere cambiata o rimossa manualmente senza perdere il contenuto informativo del file, il file con estensione sbagliata o senza estensione può essere problematico da utilizzare.
Lo scopo fondamentale per cui i progettisti di alcuni sistemi operativi (es. VMS e MS-DOS) introdussero le estensioni nei nomi dei file fu per poter distinguere i file contenenti solo dati da quelli eseguibili. Ad esempio nel DOS, se si digita il nome di un programma indicando solo il nome del file da lanciare (senza specificare l'estensione), il sistema operativo sopperisce cercando tra i file tutti quelli eseguibili con il nome specificato.
Per quel che riguarda i file di dati, l'estensione era inizialmente solo un aiuto all'utente. Il sistema operativo si limitava a visualizzarla, dare la possibilità di cambiarla o usarla per impostare dei filtri di ricerca.
[modifica] Le estensioni nelle interfacce grafiche
Con l'avvento degli odierni ambienti desktop dotati di interfaccia grafica, l'estensione è divenuta meno nota a gran parte degli utenti; infatti in diversi di di questi ambienti (tipicamente nell'ambito dei sistemi operativi Mac OS e Windows) le estensioni sono nascoste all'utente, che può dedurre il contenuto di un file dall'icona corrispondente.
In questi ambienti l'estensione conserva però una grande importanza, perché è in base ad essa che il file manager sceglie automaticamente l'icona da attribuire al file e l'applicazione più adatta a manipolare quel file.
Per fare un esempio, i più recenti sistemi operativi della Microsoft, sono provvisti di un elenco che stabilisce una corrispondenza tra le estensioni e le icona ed i programmi ad esse associati. Alcune estensioni molto usate sono preimpostate, per le altre il sistema operativo impara in base alle istruzioni date dall'utente o dalle nuove applicazioni installate. Per quel che riguarda le estensioni dei file eseguibili però non è cambiato molto dai tempi del DOS: solo i file con l'estensione che li qualifica come eseguibili (tipicamente ".exe") possono essere effettivamente eseguiti dal sistema operativo.
[modifica] Estensioni più utilizzate
Tra le estensioni oggigiorno più comuni si annoverano:
- .txt per file di testo semplice;
- .doc per file generati da un programma di videoscrittura;
- .htm o .html per pagine web statiche;
- .mp3, .ogg o .wav per file contenenti tracce sonore;
- .pdf per documenti di tipo PDF;
- .png, .gif o .jpg, per file contenenti immagini;
- .xls per file contenenti fogli di calcolo;
- .zip o .rar per file compressi ...
- .exe, .com, .bat e .cmd per programmi e script eseguibili in Windows
[modifica] Limitazioni storiche
Le prime versioni del filesystem FAT utilizzato nel DOS e in Windows avevano una limitazione al numero di caratteri utilizzabili per il nome del file (8) e per l'estensione (3) (il sistema è perciò anche chiamato 8.3). Ad esempio, il seguente nome di file:
FILENAME.EXT
avrebbe sfruttato tutti gli 11 caratteri disponibili.
In tali sistemi, il comando dir, che permetteva di ottenere la lista dei file presenti in una cartella, dava un output di questo tipo:
Volume in drive A: is LINUX BOOT Volume Serial Number is 2410-07EF Directory for A:\ LDLINUX SYS 5480 1999-04-19 23:24 VMLINUZ 530921 1999-04-19 23:24 BOOT MSG 559 1999-04-19 23:24 EXPERT MSG 668 1999-04-19 23:24 GENERAL MSG 986 1999-04-19 23:24 KICKIT MSG 979 1999-04-19 23:24 PARAM MSG 875 1999-04-19 23:24 RESCUE MSG 1020 1999-04-19 23:24 SYSLINUX CFG 420 1999-04-19 23:24 INITRD IMG 878502 1999-04-19 23:24 10 files 1,420,410 bytes 35,840 bytes free
La prima colonna contiene i nomi dei file, la seconda le estensioni.
[modifica] Il progresso nelle estensioni
Spesso, per scegliere l'estensione da dare ad una certa classe di file si utilizza l'abbreviazione del formato del file (ad esempio .GFX
, da graphics, per file grafici, .TXT
, da text per solo testo e .MUS
per alcuni file musicali).
In altri casi, l'estensione è l'abbreviazione o la sigla del programma solitamente utilizzato per utilizzare tali file. In alcuni casi addirittura l'estensione di un file permette di capire da quale versione di un tale programma il file è stato creato.
Per esempio, le prime versioni di WordStar utilizzavano l'estensione .WS
o .WSn
dove n è il numero di versione del programma.
Con il tempo, si sono verificati molti casi in cui una stessa estensione è utilizzata con significati diversi Un esempio è .rpm
, utilizzata da RPM Package Manager e da RealNetworks RealPlayer (per file RealPlayer Media); un altro può essere .qif
condivisa da Quicken Quicken Information Files e QuickTime Image Format (immagini).
All'avvento dell'era di Internet, gli utenti Windows erano ancora limitati ad estensioni composte da 3 o meno caratteri, per cui fu possibile distinguere chi stava usando sistemi Windows per creare le sue pagine web da chi utilizzava computer Macintosh o Unix (che non usano il sistema delle estensioni e quindi non impongono vincoli specifici sul nome dei file), in quanto gli utenti Windows erano costretti a nominare le loro pagine con l'estensione .htm
(invece che .html
).
La limitazione sulla lunghezza dell'estensione diventò un problema serio per i programmatori che utilizzavano il linguaggio Java, in quanto si richiedeva che il file con il codice sorgente avesse l'estensione .java
mentre il file con il codice oggetto doveva avere l'estensione .class
.
Microsoft risolse questi problemi quando introdusse nei propri sistemi operativi, basati sul file system FAT, l'estensione VFAT, che permetteva di utilizzare nomi di file ed estensioni più lunghi, e composti da lettere maiuscole e minuscole.
L'attuale file system utilizzato nativamente dai sistemi operativi Microsoft, NTFS (nato da una collaborazione tra Microsoft e IBM sul cosiddetto HPFS - High Performance File System, utilizzato in OS/2), non ha limitazioni sulla lunghezza dei nomi e delle estensioni dei file.
Per questi motivi con il passare del tempo le estensioni composte da più di 3 caratteri hanno preso piede, anche se la stragrande maggioranza delle estensioni più note sono ancora a 3 caratteri.
[modifica] Problemi di sicurezza
In relazione alle impostazioni della shell o del file browser l'estensione del file può non essere visualizzata. Utenti maliziosi che diffondono un virus per computer o un worm possono utilizzare un nome di file come LOVE-LETTER-FOR-YOU.TXT.vbs
che verrà visualizzato come LOVE-LETTER-FOR-YOU.TXT
se l'utente ha la visualizzazione delle estensioni disabilitata (impostazione predefinita in Windows Explorer). Perciò ad un utente che ha le estensioni nascoste, può sembrare un innocuo file di testo piuttosto che un programma potenzialmente dannoso scritto in VBScript.
Le ultime versioni di Windows (a partire da Windows XP Service Pack 2 e Windows Server 2003) includono un database personalizzabile di tipi di file che possono essere considerati dannosi in certe "zone" (inclusi, ma non solo, download dal WWW e allegati e-mail) che le applicazioni possono interrogare e un insieme di API per richiamare i programmi antivirus. Questi meccanismi rimpiazzano i meccanismi inconsistenti e difettosi che le singole applicazioni possiedono. Ci sono due approcci principali: l'uso di una lista nera e l'utilizzo di una tecnica di rilevamento euristica: i malware possono sfuggire al rilevamento semplicemente cambiando forma in un forma semantica equivalente, in modo da diventare abbastanza differente da sfuggire all'antivirus. Questa tecnica, chiamata "polimorfismo", è abbastanza facile e più efficace con linguaggi di scripting. In breve, la maggior parte dei software antivirus possono solo bloccare malware "conosciuti", diventando inutili contro malware modificati o non ancora conosciuti.
[modifica] Il MIME come alternativa alle estensioni
Nel contesto di una rete, i file sono considerati come un flusso di bit e non hanno nomi o estensioni.
Nell'insieme dei protocolli di Internet l'informazione a proposito di un certo "tipo" riferita a un determinato flusso di bit sono codificate nel MIME Content-type del flusso, rappresentata da una riga di testo in un blocco precedente lo stream, come:
Content-type: text/plain
Alcuni sistemi operativi e ambienti desktop come BeOS, KDE o GNOME hanno incominciato ad utilizzare i MIME Content-types per segnare i file con metadata appropriati sul tipo di contenuto del file, non avendo più bisogno dell'estensione del file. Per mappare le estensioni dei file in content-types si sfrutta tecniche euristiche, basate sul contenuto del file ma eventualmente anche sull'estensione.