En informática, una extensión de archivo o extensión
de fichero, es una cadena de caracteres anexada al nombre de un archivo,
usualmente antecedida por un punto. Su función principal es diferenciar
el contenido del archivo de modo que el sistema operativo disponga el
procedimiento necesario para ejecutarlo o interpretarlo, sin embargo, la
extensión es solamente parte del nombre del archivo y no representa
ningún tipo de obligación respecto al contenido del mismo.
Algunos sistemas operativos, especialmente los herederos de DOS como
Windows, utilizan las extensiones de archivo para reconocer su formato,
incluyendo el de archivos ejecutables. Otros sistemas operativos, como
los basados en Unix, utilizan las extensiones de archivo por simple
convención, no necesariamente utilizándolas para determinar su tipo.
Siendo las extensiones de archivo legado del sistema DOS, muchas de sus
actuales características fueron heredadas por limitaciones en dicho
sistema. Los antiguos sistemas DOS limitaban la cantidad de caracteres
de la extensión de archivo a tres, por lo que muchas extensiones
convencionales poseen esa cantidad de caracteres. Además, los nombres de
archivo en sistemas DOS son insensibles a las mayúsculas y minúsculas,
por lo que la mayoría de las extensiones de archivo pueden ser escritos
indiferentemente en minúsculas como en mayúsculas o una combinación de
ambas.
Un mismo nombre básico puede, por la extensión, contener archivos de
distinto propósito. Como en este ejemplo de DOS:
APLICACIÓN.BAS = Archivo Fuente escrito en lenguaje [[BASIC]]
APLICACIÓN.OBJ = Archivo objeto (necesario para su compilación)
APLICACIÓN.EXE = Programa Ejecutable
APLICACIÓN.TXT = Archivo de texto ASCII "texto plano"
APLICACIÓN.DOC = Archivo de texto con formatos
APLICACIÓN.VBS = Archivo fuente escrito en lenguaje Visual Basic.
Historia
En los sistemas Unix los nombres de los archivos pueden contener
cualquier carácter excepto el separador de directorios ("/") y por lo
general no tienen límite en su tamaño o es un límite aceptable. La
extensión no es un elemento diferenciado sino una convención dada a los
nombres de archivo para reconocer su contenido.
En DOS los nombres de los archivos tenían un máximo de 8 caracteres, un
punto y una extensión de como máximo tres letras, en total un máximo de
12 caracteres del Código ASCII que permitían distinguir unos archivos de
otros dentro de un mismo directorio. No todos los caracteres del código
ASCII estaban permitidos para nombrar un archivo, pues algunos (ejemplo:
/*?+\ y otros) estaban reservados para otras funciones.
En Windows 95 desaparecieron los límites impuestos por DOS en el número
de caracteres del nombre de archivo y de la extensión.
Implicaciones de seguridad
El hecho de que los sistemas operativos Windows escondan la extensión de
archivo por defecto es causa del éxito de muchos virus que dependen de
que el usuario los ejecute para funcionar. Una técnica común empleada
por muchos programadores de virus es "enmascarar" la extensión de un
archivo (especialmente ejecutables) con una extensión inofensiva. Por
ejemplo, un ejecutable puede ser nombrado "REPORTE.DOC.exe", para,
aprovechando que algunos Sistemas Operativos por defecto ocultan las
extensiones más comunes, dar la ilusión de que se trata de un archivo
DOC (documento de Microsoft Word), cuando en realidad se trata de un
programa ejecutable (EXE). Otra técnica utilizada en la distribución de
virus y en particular aquellos distribuidos por correo electrónico es el
utilizar la extensión COM (ejecutable en sistemas DOS) disfrazado como
parte de un nombre de dominio común, como por ejemplo "yahoo.com".
|