[Indice]


Estructura de una página HTML

Las páginas HTML están estructuradas en dos partes diferenciadas: la HEAD (cabecera) y el BODY (cuerpo).

Ejemplo de página

Si escribes:

<!Tipo de documento>
<HTML>
<HEAD>
<TITLE> Documento de prueba </TITLE>
</HEAD>

<!-- Esto es un comentario-->

<BODY>

<H1> Esto es una "demo" de documento HTML </H1>

Esto es el más sencillo de los documentos HTML.

</BODY>
</HTML>

El tipo de documento es muy recomendable, aunque no es obligatorio a efectos prácticos, es decir que la página se verá tanto si lo escribes como si no. Le sirve al navegador como identificación de la versión de lenguaje que contiene el fichero y a los efectos de cumplir las especificaciones de estándar recomendadas por el consorcio W3C, que es el organismo que regula el lenguaje.

Los navegadores utilizan la declaración !DOCTYPE para decidir cómo mostrarán la página: si usando el modo que sea más compatible con el estándar o mostrarlo con los fallos que tenían los navegadores antiguos. El uso de una declaración !DOCTYPE correcta mejorará el resultado obtenido. Por ejemplo:


<!DOCTYPE HTML PUBLIC "-/ / W3C / / DTD HTML 4.0 Transitional//EN"
        "http://w3.org/TR/REC-html40/loose.dtd">

Indica que cumple el estándar HTML 4.0

<!DOCTYPE HTML PUBLIC "-/ / W3C / / DTD HTML 4.0//EN"
        "http://w3.org/TR/REC-html40/strict.dtd">

Significa que cumple el estándar HTML 4.0 y, además, no contiene elementos desaconsejables.

Y estas son las definiciones para el xhtml1 ya extinto:

<!DOCTYPE HTML PUBLIC "- / / W3C/ / DTD XHTML 1.0 Transitional / / EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<!DOCTYPE HTML PUBLIC "- / / W3C / / DTD XHTML 1.0 Strict / / EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
En el HTML 4.0 se consideran desaconsejables aquellos elementos que, aún siendo soportados, han sido sustituidos por otros y, por ello, es posible que sean eliminados en el futuro. En cualquier caso, el que un elemento escrito en tus páginas se vea o no, dependerá siempre del navegador utilizado y/o de su versión, no de lo que diga el estándar.

Puedes ver el aspecto real del ejemplo de página pulsando aquí.

Para escribir comentarios en la página (que sólo se ven en el texto fuente, pero no en el visualizador) se utilizará el elemento
<!--    -->    cuidado: el que no se vea de forma normal en el navegador, no significa que no pueda verse el código fuente. Nunca escribas comentarios con claves de acceso o datos confidenciales.


Esquema de tipos de un documento HTML

Cuando un visualizador recibe un fichero, antes de mostrarlo necesita saber el tipo de contenido que éste tiene, a fin de procesarlo adecuadamente. No es lo mismo recibir un documento de texto que una fotografía en formato GIF, o un vídeo en formato MPG, o si lo que estamos intentando es transferir un fichero.
En cada caso, el visualizador pondrá en juego distintas habilidades, de las muchas que posee.
Si el fichero procede de un servidor http remoto, (es decir un servidor web; http es el nombre del protocolo que utilizará el servicio invocado), éste se encargará de decirle al visualizador cuanto necesite saber, pero si lo que hay que procesar es un fichero local, la única forma de saberlo es por la extensión del fichero.

La extensión de un fichero son las tres o cuatro letras (depende del sistema operativo con el que se trabaje) que hay después del nombre del fichero y que están separadas del mismo por un punto.

Por ejemplo, esta página se llama estruc.htm. Las tres letras que hay después del punto (htm) son la extensión del fichero. Las otras, las que están delante del punto, son el nombre del fichero.

Las extensiones de 4 o más letras son típicas de sistemas operativos como UNIX o LINUX y las de 3 o menos de Windows, que ha mantenido esta costumbre por herencia de los tiempos del DOS, ya que puede trabajar perfectamente con extensiones de más de 3 letras. Por ejemplo, la extensión .html funciona en Windows igual que la .htm
Estas son algunas de las extensiones stándard más comunes y sus contenidos. La primera de ellas suele utilizarse en sistemas UNIX-LINUX y la segunda en Windows:

.html o .htm
Documento HTML. Contine texto e instrucciones HTML que serán interpretadas.
.text o .txt
Contiene texto plano. El visualizador presentará todo el fichero como si fuera un único bloque de texto y no interpretará ninguna instrucción HTML que pudiera llevar. Esto lo hará con cualquier fichero que lleve una extensión desconocida o simplemente no lleve ninguna.
.gif
Contiene un fichero de imagen en formato GIF.
.npg
Contiene un fichero de imagen en formato NPG.
.xbm
Contiene un fichero de imagen en formato X-Bitmap (blanco y negro).
.xpm
Contiene un fichero de imagen en formato X-Pixmap (color).
.jpeg o .jpg
Contiene un fichero de imagen en formato codificado jpeg.
.mpeg o .mpg
Contiene un fichero de imagen de video o cine (en movimiento).
.au
Contiene un fichero de audio (sonido) codificado en aiff-encoded.
.mid
Contiene un fichero de audio (sonido) generado con secuenciadores midi típicos de Windows.
.avi
Contiene un fichero con video y sonido típico de Windows.
.mp3
Contiene un fichero con sonido típico de Windows y otros sistemas.
.exe
Contiene un fichero binario ejecutable en DOS o Windows.
.hqx
Contiene un fichero binario ejecutable en Macintosh.
.Z o .zip
Contiene un (o varios) fichero/s comprimido/s de cualquier clase. Para poder utilizarlo hay que indicarle al visualizador una herramienta de compresión-descompresión.
.pdf
Contiene un fichero de imagen de cualquier documento generado con Acrobat Writer.
.doc
Contiene un fichero de documento generado por Microsoft Word
En el entorno web se utilizan los MIME types (Multipurpose Internet Mail Extension) para definir el tipo de un fichero transferido. El visualizador determina desde el MIME type cómo hay que tratar cada fichero.

Estos son los mime types más habituales junto con las extensiones de fichero a las que suele relacionarse:

application/rtf                      .rtf
application/pdf                      .pdf
application/postscript 	             .ps
application/msword                   .doc
application/x-msexcel 	             .xls
application/x-mspowerpoint           .ppt
application/asx                      .asx               
application/x-mplayer2               .asx .avi .mp3 .mpg
application/x-shockwave-flash        .swf
application/x-java-applet            .class .clas
application/java                     .clas .class
application/octet-stream             .exe .com
application/x-compressed             .zip

audio/mpeg                           .mp3 .mpg
audio/x-wav                          .wav
audio/x-ms-wma                       .wma
audio/x-midi                         .mid .midi
audio/x-ms-mp3                       .mp3
audio/x-mp3                          .mp3
audio/mpeg3                          .mp3
audio/x-mpeg-3                       .mp3 .mpeg
audio/x-pn-realaudio                 .rm

image/jpeg                           .jpg .jpeg
image/gif                            .gif
image/png                            .png

text/html                            .htm .html
text/plain                           .txt .text .htm .html
text/css                             .css
text/x-javascript                    .js         
text/richtext 	                     .rtf
text/rtf                             .rtf

video/mpeg                           .mpg .mpeg
video/avi                            .avi
video/x-ms-wmv 	                     .wmv
video/x-msvideo                      .wmv
video/quicktime                      .mov
video/x-ms-asf                       .asf

Los visualizadores tienen una configuración de los mapas de tipos aceptables, e instrucciones de cómo proceder en cada caso. Algunos tipos son tratados directamente por el propio visualizador (p.ej.: htm, gif, txt) mientras que para otros necesitan de una herramienta auxiliar adecuada, que hay que indicar al visualizador, para que sea llamada en el momento preciso (p.ej.: zip, mpg, avi, pdf).


Ahora que ya sabes qué son las extensiones de fichero, es el momento de aclarar una cuestión importante:

Los documentos HTML los puedes escribir con lo que quieras... Siempre que los salves en modo Solo Texto. Es decir, que si utilizas, por ejemplo, Word de Windows o de MAC, por defecto estos programas salvan en formato Word. Y aunque luego los renombres como documentos .htm o .html, el formato interno sigue siendo Word.

Tampoco vale dejarlos con la extensión .txt que les dejan la mayoría de editores al salvarlos en modo Solo Texto. No serían interpretados correctamente. Por lo tanto si tienen extensión .txt (y por supuesto son .txt), entonces puedes renombrarlos a .htm, o bien en el momento de guardarlos en formato Solo Texto no dejar la extensión por defecto .txt y darle ya directamente la extensión .htm.

Algunos procesadores de texto ya incluyen entre sus tipos el .htm. Si es así, lo que hacen es eliminar la codificación propia, y convertirla a elementos de HTML. Por ejemplo, si tienes un texto en itálica, automáticamente es convertido al elemento <I>, etc.. El problema de los editores avanzados de texto y de la mayoría de programas asistentes para escribir HTML es que generan un código bastante "sucio", difícil de corregir o modificar después. No es que no funcione, pero como el programa no sabe cual es la finalidad del texto escrito, por defecto le pone todo lo que sabe por si acaso, aplicando el dicho de "mejor que sobre..."


[Indice]