Lenguaje de marcado de hipertexto HTML
Extensiones | .html, .htm |
---|---|
Tipo de Mimica | text/html |
Desarrollado por | Consorcio World Wide Web y WHATWG |
Versión inicial | 1993 |
Tipo de formato | Lenguaje de marcado |
Basado en | Lenguaje de marcado generalizado estándar |
Origen de | XHTML |
Estándar |
ISO / IEC 15445 W3C HTML 4.01 W3C HTML5 |
YO ASI | 15445 |
Especificación | Formato abierto |
Sitios web |
www.w3.org/html html.spec.whatwg.org/multipage w3c.github.io/html |
El lenguaje de marcado de hipertexto , comúnmente abreviado HTML o en su último HTML5, es el lenguaje de marcado diseñado para representar páginas web .
Este idioma permite:
A menudo se utiliza junto con el lenguaje de programación JavaScript y las hojas de estilo en cascada (CSS). HTML está inspirado en el lenguaje de marcado estándar generalizado (SGML). Este es un formato abierto .
El Inglés Hypertext Markup Language literalmente se traduce en el lenguaje de marcado de hipertexto . Normalmente se utiliza el acrónimo HTML, a veces incluso repitiendo la palabra "idioma" como en "lenguaje HTML". El hipertexto a veces se escribe hipertexto para marcar la T en el acrónimo HTML.
El a veces desinformado hablar en público HTM en lugar de HTML, siendo HTM el nombre del archivo de extensión truncado a tres letras, una limitación que se encuentra en los sistemas operativos más antiguos de Microsoft .
Durante la primera mitad de la década de 1990 , antes de la aparición de las tecnologías web , tales como JavaScript (JS), Cascading Style Sheets (CSS), y el Document Object Model (Dom), la evolución de HTML dictaron la evolución de la World Wide Web . Desde 1997 y HTML 4 , la evolución de HTML se ha ralentizado considerablemente; Diez años después, HTML 4 todavía se usa en páginas web . En 2008 , la especificación de HTML5 está en estudio y se vuelve de uso común en la segunda mitad de la década de 2010 .
HTML es uno de los tres inventos que formaron la base de la World Wide Web , junto con el Protocolo de transferencia de hipertexto (HTTP) y las direcciones web ( URL ). El HTML se inventó para hacer posible la redacción de documentos hipertextuales vinculando los distintos recursos de Internet con hipervínculos . Hoy en día, estos documentos se denominan " página web ". EnAgosto de 1991, cuando Tim Berners-Lee anuncia públicamente la web en Usenet , solo cita SGML , pero proporciona la URL de un documento de sufijo.html.
En su libro Weaving the web , Tim Berners-Lee describe la decisión de basar HTML en SGML como tan "diplomática" como técnica: técnicamente, encontró SGML demasiado complejo, pero quería atraer a la comunidad de hipertexto que veía SGML como el lenguaje, el más prometedor para estandarizar el formato de los documentos de hipertexto. Además, SGML ya estaba siendo utilizado por su empleador, la Organización Europea para la Investigación Nuclear (CERN). ;
Los primeros elementos de HTML incluyen:
La descripción de HTML es bastante informal y se define principalmente por el soporte de varios navegadores web contemporáneos. Dan Connolly ayudó a hacer de HTML una verdadera aplicación SGML .
El estado de HTML corresponde entonces a lo que podríamos llamar HTML 1.0 . Sin embargo, no hay ninguna especificación con este nombre, en particular porque el lenguaje estaba en plena evolución en ese momento. Sin embargo, se estaba realizando un esfuerzo de estandarización . Desde finales de 1993 , el término HTML + se utilizó para referirse a la futura versión de HTML. A pesar del esfuerzo de estandarización así iniciado, y hasta finales de la década de 1990 , HTML se definió principalmente por implementaciones de navegador.
Con el navegador NCSA Mosaic , HTML conoce dos inventos principales:
Con la llegada de Netscape Navigator 0.9, el13 de octubre de 1994, se agrega soporte para muchos elementos de presentación: atributos de texto, parpadeo, centrado, etc.
El desarrollo de HTML toma dos caminos divergentes:
Los diseñadores siguen los principios de SGML de dejar la presentación en un lenguaje de estilo. En este caso, las hojas de estilo en cascada (CSS) están diseñadas para HTML. Solo el soporte de tablas se integra rápidamente en los navegadores, en particular porque permite una mejora muy clara de la presentación. Además de la multiplicación de los elementos de presentación, el software que producía y consumía HTML a menudo concibía los documentos como una serie de comandos de formato en lugar de como un marcado que representaba la estructura de árbol conocida hoy como Modelo de objetos de documento (DOM). La falta de estructura del HTML implementado a veces se denuncia como "sopa de etiquetas ", en inglés : sopa de etiquetas .
En Marzo de 1995, el recientemente fundado World Wide Web Consortium (W3C) ofrece el resultado de su investigación sobre HTML +: el borrador de HTML 3.0 . Incluye soporte para tablas, figuras y expresiones matemáticas. Este borrador vence el28 de septiembre de 1995sin dar seguimiento directo. A finales de 1995 , se finalizó el RFC 1866 que describe HTML 2.0 . El editor principal es Dan Connolly . Este documento describe HTML tal como existía antesJunio de 1994, así que sin las muchas adiciones de Netscape Navigator .
La 14 de enero de 1997, el W3C publica la especificación HTML 3.2 . Describe la práctica actual observada a principios de 1996 , por lo tanto con parte de las adiciones de Netscape Navigator e Internet Explorer . Sus novedades más importantes son la estandarización de tablas y muchos elementos de presentación. HTML 3.2 precede estrictamente a HTML 4.0 y contiene elementos para el soporte de estilo y secuencias de comandos.
La 18 de diciembre de 1997, el W3C publica la especificación HTML 4.0 que estandariza muchas extensiones que admiten estilos y scripts, marcos y objetos (inclusión generalizada de contenido). HTML 4.0 también trae diversas mejoras para la accesibilidad de los contenidos, principalmente la posibilidad de una separación más explícita entre estructura y presentación del documento, o el soporte de información adicional sobre ciertos contenidos complejos como formularios, tablas o acrónimos. HTML 4.0 introduce tres variaciones del formato, destinadas a promover la evolución hacia un marcado más significativo, teniendo en cuenta las limitaciones temporales de las herramientas de producción:
Estas variaciones continúan a partir de entonces sin modificaciones significativas en HTML 4.01 y en el formato de transición XHTML 1.0 de HTML. La última especificación HTML es la versión 4.01 fechada24 de diciembre de 1999. Solo realiza pequeñas correcciones en la versión 4.0 .
El desarrollo de HTML como una aplicación del Lenguaje de marcado generalizado estándar (SGML) se abandona oficialmente en favor de XHTML , una aplicación de Lenguaje de marcado extensible (XML). Sin embargo, en 2004 , los editores de navegadores web crearon el Grupo de Trabajo de Tecnología de Aplicaciones de Hipertexto Web (WHATWG) con el objetivo, en particular, de relanzar el desarrollo del formato HTML y satisfacer las nuevas necesidades sobre una base tecnológica que se considere más fácil de implementar. el XHTML 2.0 que se está diseñando. Esto es parte del contexto de un desafío más general al modo de operación del W3C, considerado demasiado cerrado por algunos desarrolladores y diseñadores web.
En Marzo de 2007, como consecuencia de la renuencia de parte de la industria y los diseñadores de contenido web a enfrentarse a XHTML 2.0 , el W3C relanza el desarrollo de HTML y crea un nuevo grupo de trabajo supervisado por Chris Wilson ( Microsoft ) e inicialmente Dan Connolly ( W3C ), ahora Michael Smith ( W3C ). Éstas incluyen:
El trabajo del WHATWG fue adoptado formalmente en Mayo de 2007como punto de partida para una nueva especificación HTML5 . Este documento fue publicado como Borrador de Trabajo en22 de enero de 2008. Entre los principios de diseño mencionados por el grupo de trabajo se encuentran en particular:
El W3C crea un Grupo de Trabajo de Accesibilidad ennoviembre de 2009con el fin de resolver los problemas de compatibilidad del nuevo formato con los estándares de accesibilidad , vinculados en particular a la implementación de ARIA , a las alternativas textuales y a los nuevos elementos canvasy video.
El desarrollo de XHTML 2.0 se continúa inicialmente en paralelo, en respuesta a las necesidades de otras áreas de la web, como dispositivos móviles, aplicaciones empresariales y aplicaciones de servidor. Entonces enjulio de 2009, el W3C decide no renovar el Grupo de Trabajo XHTML 2 a finales de 2009.
Con el abandono de XHTML 2 , la versión XHTML 1.1 sigue siendo la versión estandarizada. HTML5 será compatible con XHTML y XML y, por lo tanto, permitirá documentos XHTML5 . Sin embargo, es probable que el W3C esté avanzando hacia un abandono total de XHTML 1.1 , debido a que la implementación de XML en HTML5 hace innecesaria la definición de documento de tipo XHTML y . y (donde yy son los números de versión).
En enero 2011, diferencias de opinión entre Ian Hickson (ingeniero de Google), quien escribe la especificación HTML5, y los miembros del grupo de trabajo del W3C lideran el WHATWG para crear HTML Living Standard (literalmente: estándar de vida de HTML), una especificación de HTML destinada a estar en constante evolución, con el fin de seguir el rápido desarrollo de nuevas funcionalidades por parte de los desarrolladores de navegadores (a diferencia de las versiones numeradas, por lo tanto, "fijas").
El nivel de vida HTML pretende incluir HTML5, y para desarrollar continuamente. En particular, en la versión de22 de agosto de 2012, el documento de referencia explica que el W3C HTML5, publicado en 22 de junio de 2012, se basa en una versión de HTML Living Standard , pero que HTML Living Standard no se detiene en esta versión y continúa evolucionando. Desarrolla en particular las diferencias entre la versión W3C (HTML5) y la versión HTML Living Standard (por ejemplo, los nuevos errores no se tienen en cuenta en HTML5, se enumeran las diferencias sintácticas y las nuevas etiquetas creadas por HTML Living Standard no se tienen en cuenta. incluido en HTML5).
HTML es un lenguaje de descripción de formato de documento que toma la forma de un lenguaje de marcado cuya sintaxis proviene del Lenguaje de marcado generalizado estándar (SGML).
Hasta la versión 4.01 inclusive, HTML se describe formalmente como una aplicación del lenguaje de marcado estándar generalizado (SGML). Sin embargo, las sucesivas especificaciones admiten, a través de varios medios, que los agentes de usuario no son, en la práctica, analizadores de SGML conformes. Los navegadores web no han podido descifrar todas las variaciones permitidas por la sintaxis de SGML ; por otro lado, generalmente son capaces de detectar automáticamente muchos errores de sintaxis, de acuerdo con la primera parte de la "ley de Postel ": "Sea liberal en lo que acepta y conservador en lo que envía" ( RFC 791). De hecho, los desarrolladores de páginas web y navegadores web siempre han tenido mucha libertad con las reglas sintácticas de SGML . Finalmente, la definición de tipo de documento HTML (DTD), la descripción técnica formal de HTML, no fue escrita por Dan Connolly hasta unos años después de la introducción de HTML.
A pesar de las libertades tomadas con el estándar, se utiliza la terminología específica de SGML : documento, elemento, atributo, valor, etiqueta, entidad, validez, aplicación, etc. Gracias a la DTD, es posible verificar automáticamente la validez de un documento HTML utilizando un analizador SGML .
Originalmente, HTML fue diseñado para simplemente marcar (o marcar) texto, incluyendo agregarle hipervínculos. Usamos un mínimo de etiquetas, como en el siguiente documento HTML:
<TITLE>Exemple de HTML</TITLE> Ceci est une phrase avec un <A HREF=cible.html>hyperlien</A>. <P> Ceci est un paragraphe où il n'y a pas d'hyperlien.Este ejemplo contiene texto, cinco etiquetas y una referencia de entidad:
Un documento HTML válido es un documento que respeta la sintaxis SGML , utiliza solo elementos y atributos estandarizados y respeta el anidamiento de elementos descritos por el estándar. Solo falta una declaración de tipo de documento en el ejemplo anterior para que sea un documento HTML 2.0 válido.
Sin embargo, un documento válido no es suficiente para cumplir con la especificación HTML de destino. De hecho, además del requisito de validez, un documento conforme está sujeto a otras restricciones que no están expresadas por la definición de tipo de documento (DTD), pero que están expresadas por la propia especificación. Este es particularmente el caso del tipo de contenido de ciertos atributos, como el del atributo datetime : para ser compatible con HTML 4.01 , debe cumplir con un subconjunto de la norma ISO 8601 . Por lo tanto, un analizador estrictamente SGML como el validador HTML del W3C no puede garantizar la conformidad de un documento HTML.
En los primeros años, los documentos HTML se veían a menudo como estructuras planas y las etiquetas como comandos de estilo. Entonces, la etiqueta <p>se consideró un salto de línea y la etiqueta </p>se ignoró. O cuando apareció JavaScript 1.0 , solo dio acceso a enlaces de documentos y formularios a través de tablas document.formsy document.links.
Con la introducción de las hojas de estilo en cascada y el modelo de objetos de documento , se hizo necesario considerar que los documentos HTML tienen una verdadera estructura de árbol , con un elemento raíz que contiene todos los demás elementos. Las etiquetas de apertura y cierre de estos elementos siguen siendo opcionales. Sin embargo, hoy en día existe una tendencia a marcar cada elemento e indicar la DTD. Con la excepción del elemento raíz, cada elemento tiene exactamente un elemento padre directo; este “árbol de documentos” es utilizado en particular por la estructura de formato que se deriva de él para la aplicación de hojas de estilo en cascada donde cada elemento puede tener su propio fondo, borde y margen.
La estructura y el código de los sitios web también se pueden consultar añadiendo view-source:delante de la URL de la página. Por la página actual que daría . view-source:https://fr.m.wikipedia.org/wiki/Hypertext_Markup_Language
Fuente HTML | Documento ejemplar |
---|---|
<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html> <head> <title> Exemple de HTML </title> </head> <body> Ceci est une phrase avec un <a href="cible.html">hyperlien</a>. <p> Ceci est un paragraphe où il n’y a pas d’hyperlien. </p> </body> </html> |
html cabeza título texto cuerpo texto a texto texto pag texto |
La versión 4 de HTML describe 91 elementos . Siguiendo la especificación de HTML 4 , las funcionalidades implementadas por HTML se pueden desglosar de la siguiente manera:
Estructura general de un documento HTML En el nivel superior, un documento HTML se separa entre un encabezado y un cuerpo. El encabezado contiene información sobre el documento, incluido su título y posiblemente los metadatos . El cuerpo contiene lo que se muestra. Información de idioma Es posible indicar el idioma de cualquier parte del documento y gestionar la mezcla de texto escrito de izquierda a derecha con texto de derecha a izquierda . Etiquetado semántico HTML ayuda a diferenciar contenido específico, como citas de trabajos externos, fragmentos de código de computadora, pasajes enfatizados y abreviaturas. Algunos de estos elementos, inicialmente diseñados para respaldar la documentación técnica, se utilizan muy raramente (diferenciación entre elementos de valor de ejemplo y variable en un código de computadora, por ejemplo, o incluso una instancia de un término definido en el contexto). Liza HTML diferencia entre listas ordenadas y desordenadas , dependiendo de si el orden formal del contenido en el código es información en sí misma. Las listas de definiciones también existen, pero su alcance está exactamente determinado. Mesas Esta funcionalidad se utiliza formalmente para la presentación de datos tabulares, pero se explotó principalmente por sus capacidades de diseño antes de que las hojas de estilo en cascada (CSS) alcanzaran un grado suficiente de madurez. Hipervínculos La funcionalidad principal de HTML. Inclusión de imágenes, applets y objetos diversos Originalmente, HTML solo permitía hipervínculos a medios externos. La invención de elementos especializados para multimedia permitió la inclusión automática de imagen, música, video, etc. en páginas web. Agrupar elementos Al no otorgar significado al contenido que marcan, estos elementos genéricos permiten aplicar estilos de presentación, realizar procesamientos a través de scripts o cualquier otra operación que requiera aislar parte del contenido. Estilo de presentación A cada elemento, o incluso a todo el documento, se le pueden aplicar estilos. Los estilos se definen en el documento o provienen de hojas de estilo en cascada (CSS) externas. Marcado de presentación de texto Desarrollado antes de la generalización de CSS para proporcionar rápidamente funcionalidad a los diseñadores gráficos. Por lo general, ahora oficialmente se desaconseja en su mayor parte. Marcos También conocido como marcos , una característica a menudo criticada que le permite mostrar varios documentos HTML en una sola ventana. Formulario de inserción de datos interactivos Los elementos de formulario permiten a los visitantes ingresar texto y archivos en páginas web. Guiones Se utiliza para asociar partes del programa con acciones del usuario en el documento. Los lenguajes utilizados son generalmente JavaScript y VBScript .Los atributos le permiten especificar las propiedades de los elementos HTML. Hay 188 atributos en la versión 4 de HTML.
Algunos atributos se aplican a casi todos los elementos:
Otros atributos son exclusivos de un solo elemento o elementos similares. Por ejemplo :
La mayoría de los atributos son opcionales. Sin embargo, algunos elementos tienen atributos obligatorios:
El tipo de contenido de los atributos HTML está parcialmente fuera del alcance de este estándar, y su validación cae bajo estándares de terceros como URI , tipos de contenido o códigos de idioma .
Finalmente, algunos atributos son de tipo booleano. Estos son los únicos atributos cuya sintaxis puede estar implícita de forma válida en HTML: el atributo selectedde un control de formulario se puede acortar al formulario que selectedreemplaza al formulario completo selected="selected". Esta forma particular es uno de los puntos que diferencian al HTML de la sintaxis de los documentos "bien formados" en el sentido XML.
Las páginas web se pueden escribir en todo tipo de idiomas y se pueden utilizar muchos caracteres , lo que requiere un juego de caracteres por tipo de escritura o un juego de caracteres universal. Cuando apareció HTML, el conjunto de caracteres universal Unicode aún no se había inventado, y se utilizaron muchos conjuntos de caracteres uno al lado del otro, incluido ISO-8859-1 para el alfabeto latino y europeo occidental, Shift-JIS para el japonés , KOI8-R para el Cirílico . Hoy en día, la codificación UTF-8 a Unicode es la más frecuente.
El protocolo de comunicación HTTP transmite el nombre del juego de caracteres. El encabezado HTML puede incluir un recordatorio de este conjunto de caracteres, que debería ser el mismo, a menos que haya un error de configuración. Por último, después de una configuración incorrecta, el juego de caracteres realmente utilizado puede diferir del juego anunciado. Estas configuraciones incorrectas generalmente causan errores de visualización de texto, especialmente para caracteres no cubiertos por el estándar ASCII .
Tecnología de escapeAntes de la generalización de Unicode, las entidades se definieron para representar ciertos caracteres no ASCII . Comenzó con los caracteres de ISO 8859-1 en el estándar HTML 2.0 . Para los diacríticos, estas entidades siguen un principio simple: la letra seguida de la abreviatura del diacrítico asociado.
personaje | referencia de entidad | Nota |
---|---|---|
A | Á | acutepara el acento agudo |
A | Â | circpara el acento circunflejo |
A | À | gravepor el acento grave |
A | Å | ringpara la ronda principal |
A | Ã | tildepara la tilde |
A | Ä | umlpara diéresis |
VS | Ç | cedilpara la cedilla |
Ø | Ø | slashpara la barra |
Tal como lo formaliza el W3C , HTML está diseñado para optimizar la interoperabilidad de los documentos. HTML no se utiliza para describir la representación final de páginas web . En particular, a diferencia de la autoedición , HTML no está diseñado para especificar la apariencia visual de los documentos. En cambio, HTML está diseñado para dar sentido a las diferentes partes del texto: título, lista, pasaje importante, cita, etc. HTML se desarrolló con la intuición de que se utilizarían dispositivos de todo tipo para navegar por la web: computadoras personales con pantallas de diferente resolución y profundidad de color, teléfonos celulares, dispositivos de síntesis y reconocimiento por computadora, voz, computadoras con ancho de banda bajo y alto, etc. en.
Dado que HTML no se centra en la presentación final del documento, el mismo documento HTML se puede ver utilizando una amplia variedad de hardware y software. A nivel de hardware, un documento se puede visualizar en particular en una pantalla de ordenador en modo gráfico o en un terminal de ordenador en modo texto , se puede imprimir o se puede hablar por síntesis de voz . A nivel de software, HTML tampoco hace suposiciones, y varios tipos de software leen HTML: navegador web , rastreador , varios scripts (en Perl , PHP ) para procesamiento automático.
Un alto grado de interoperabilidad ayuda a reducir los costos de los proveedores de contenido porque una única versión de cada documento satisface una amplia variedad de necesidades. Para el usuario de la web, la interoperabilidad permite la existencia de muchos navegadores competidores, todos capaces de ver toda la web.
Cada versión de HTML ha intentado reflejar el mayor consenso entre los actores de la industria, para que las inversiones realizadas por los proveedores de contenido no se desperdicien y sus documentos se vuelvan ilegibles rápidamente. La separación del contenido y la forma no siempre se respetó durante el desarrollo del lenguaje, como lo demuestra, por ejemplo, el marcado de estilo del texto, que permite indicar en particular la fuente deseada para su visualización, su tamaño o su color.