html

23
El protocolo de transferencia de hipertexto (HTTP, HyperText Transfer Protocol) es el protocolo usado en cada transacción de la Web (WWW ). HTTP fue desarrollado por el consorcio W3C y la IETF , colaboración que culminó en 1999 con la publicación de una serie de RFC , siendo el más importante de ellos el RFC 2616 , que especifica la versión 1.1. HTTP define la sintaxis y la semántica que utilizan los elementos software de la arquitectura web (clientes, servidores, proxies ) para comunicarse. Es un protocolo orientado a transacciones y sigue el esquema petición-respuesta entre un cliente y un servidor. Al cliente que efectúa la petición (un navegador o un spider ) se lo conoce como "user agent" (agente del usuario). A la información transmitida se la llama recurso y se la identifica mediante un URL . Los recursos pueden ser archivos, el resultado de la ejecución de un programa, una consulta a una base de datos , la traducción automática de un documento, etc. HTTP es un protocolo sin estado, es decir, que no guarda ninguna información sobre conexiones anteriores. El desarrollo de aplicaciones web necesita frecuentemente mantener estado. Para esto se usan las cookies , que es información que un servidor puede almacenar en el sistema cliente. Esto le permite a las aplicaciones web instituir la noción de "sesión", y también permite rastrear usuarios ya que las cookies pueden guardarse en el cliente por tiempo indeterminado. Transacciones HTTP Una transacción HTTP consiste de un encabezado seguido, opcionalmente, por una línea en blanco y algún dato. El encabezado especificará cosas como la acción requerida del servidor, o el tipo de dato retornado, o el código de estado. El uso de campos de encabezados enviados en las transacciones HTTP le dan gran flexibilidad al protocolo. Estos campos permiten que se envíe información descriptiva en la transacción, permitiendo así la autenticación, cifrado e identificación de usuario. Un encabezado es un bloque de datos que precede a la información propiamente dicha, por lo que muchas veces se hace referencia a él como metadato —porque tiene datos sobre los datos—. Si se reciben líneas de encabezado del cliente, el servidor las coloca en las variables de ambiente de CGI con el prefijo HTTP_ seguido del nombre del encabezado. Cualquier carácter guión ( - ) del nombre del encabezado se convierte a caracteres "_".

description

html y algo mas

Transcript of html

Page 1: html

El protocolo de transferencia de hipertexto (HTTP, HyperText Transfer Protocol) es el protocolo usado en cada transacción de la Web (WWW). HTTP fue desarrollado por el consorcio W3C y la IETF, colaboración que culminó en 1999 con la publicación de una serie de RFC, siendo el más importante de ellos el RFC 2616, que especifica la versión 1.1.

HTTP define la sintaxis y la semántica que utilizan los elementos software de la arquitectura web (clientes, servidores, proxies) para comunicarse. Es un protocolo orientado a transacciones y sigue el esquema petición-respuesta entre un cliente y un servidor. Al cliente que efectúa la petición (un navegador o un spider) se lo conoce como "user agent" (agente del usuario). A la información transmitida se la llama recurso y se la identifica mediante un URL. Los recursos pueden ser archivos, el resultado de la ejecución de un programa, una consulta a una base de datos, la traducción automática de un documento, etc.

HTTP es un protocolo sin estado, es decir, que no guarda ninguna información sobre conexiones anteriores. El desarrollo de aplicaciones web necesita frecuentemente mantener estado. Para esto se usan las cookies, que es información que un servidor puede almacenar en el sistema cliente. Esto le permite a las aplicaciones web instituir la noción de "sesión", y también permite rastrear usuarios ya que las cookies pueden guardarse en el cliente por tiempo indeterminado.

Transacciones HTTP

Una transacción HTTP consiste de un encabezado seguido, opcionalmente, por una línea en blanco y algún dato. El encabezado especificará cosas como la acción requerida del servidor, o el tipo de dato retornado, o el código de estado.

El uso de campos de encabezados enviados en las transacciones HTTP le dan gran flexibilidad al protocolo. Estos campos permiten que se envíe información descriptiva en la transacción, permitiendo así la autenticación, cifrado e identificación de usuario.

Un encabezado es un bloque de datos que precede a la información propiamente dicha, por lo que muchas veces se hace referencia a él como metadato —porque tiene datos sobre los datos—.

Si se reciben líneas de encabezado del cliente, el servidor las coloca en las variables de ambiente de CGI con el prefijo HTTP_ seguido del nombre del encabezado. Cualquier carácter guión ( - ) del nombre del encabezado se convierte a caracteres "_".

El servidor puede excluir cualquier encabezado que ya esté procesado, como Authorization, Content-type y Content-length. El servidor puede elegir excluir alguno o todos los encabezados si incluirlos excede algún límite del ambiente de sistema. Ejemplos de esto son las variables HTTP_ACCEPT y HTTP_USER_AGENT.

HTTP_ACCEPT. Los tipos MIME que el cliente aceptará, dado los encabezados HTTP. Otros protocolos quizás necesiten obtener esta información de otro lugar. Los elementos de esta lista deben estar separados por una coma, como lo dice la especificación HTTP: tipo, tipo.

HTTP_USER_AGENT. El navegador que utiliza el cliente para realizar la petición. El formato general para esta variable es: software/versión librería/versión.

El servidor envía al cliente:

Un código de estado que indica si la petición fue correcta o no. Los códigos de error típicos indican que el archivo solicitado no se encontró, que la petición no se realizó de forma correcta o que se requiere autenticación para acceder al archivo.

La información propiamente dicha. Como HTTP permite enviar documentos de todo tipo y formato, es ideal para transmitir multimedia, como gráficos, audio y video. Esta libertad es una de las mayores ventajas de HTTP.

Page 2: html

Información sobre el objeto que se retorna.

Ten en cuenta que la lista no es una lista completa de los campos de encabezado y que algunos de ellos sólo tienen sentido en una dirección.

Versiones

HTTP ha pasado por múltiples versiones del protocolo, muchas de las cuales compatibles con las anteriores. El RFC 2145 describe el uso de los números de versión de HTTP. El cliente le dice al servidor al principio de la petición la versión que usa, y el servidor usa la misma o una anterior en su respuesta.

0.9 Obsoleta. Soporta sólo un comando, GET, y además no especifica el número de versión HTTP. No soporta cabeceras. Como esta versión no soporta POST, el cliente no puede enviarle mucha información al servidor.

HTTP/1.0 (mayo 1996) Esta es la primera revisión del protocolo que especifica su versión en las comunicaciones, y todavía se usa ampliamente, sobre todo en servidores proxy.

HTTP/1.1 (junio 1999)[1] [2]

Versión actual; las conexiones persistentes están activadas por defecto y funcionan bien con los proxies. También soporta peticiones en paralelo (pipelining), permitiendo enviar múltiples peticiones a la vez, lo cual hace que el servidor pueda prepararse para una sobrecarga de trabajo y servir las solicitudes más rápidamente al cliente.

HTTP/1.2 Los primeros borradores de 1995 del documento PEP — an Extension Mechanism for HTTP (el cuál propone el Protocolo de Extensión de Protocolo, abreviado PEP) los hizo el World Wide Web Consortium y se envió al Internet Engineering Task Force. El PEP inicialmente estaba destinado a convertirse en un rango distintivo de HTTP/1.2.[3] En borradores posteriores, sin embargo, se eliminó la referencia a HTTP/1.2. El RFC 2774 (experimental), HTTP Extension Framework, incluye en gran medida a PEP. Se publicó en febrero de 2000.

Ejemplo de un diálogo HTTP

Para obtener un recurso con el URL http://www.lol2.com/index.html

1. Se abre una conexión al host www.example.com, puerto 80 que es el puerto por defecto para HTTP.

2. Se envía un mensaje en el estilo siguiente:

GET /index.html HTTP/1.1 Host: www.lol2.com User-Agent: nombre-cliente [Línea en blanco]

La respuesta del servidor está formada por encabezados seguidos del recurso solicitado, en el caso de una página web:

HTTP/1.1 200 OKDate: Fri, 31 Dec 2003 23:59:59 GMTContent-Type: text/htmlContent-Length: 1221

Page 3: html

<html><body><h1>Página principal de tuHost</h1>(Contenido) . . .</body></html>

Familia: Familia de protocolos de Internet Función: Transferencia de hipertexto Última versión: 1.2 Puertos: 80/TCP

Ubicación en la pila de protocolosAplicación HTTPTransporte TCPRed IP

Estándares: RFC 1945 (HTTP/1.0, 1996)RFC 2616 (HTTP/1.1, 1999)RFC 2774 (HTTP/1.2, 2000)

Herramientas de Software libre

Apache httpd server Apache ha sido el servidor web más difundido desde 1996. La encuesta de Netcraft de abril de 2008, muestra que alrededor del 50% de los servidores web utilizan Apache.

Jigsaw - W3C's Server Roxen Cherokee

Primeros Servidor

CERN httpd Server NCSA httpd server Compuserve httpd server

Códigos de respuesta

Son códigos de tres dígitos (vea también Anexo:Códigos de estado HTTP):

1xx Mensajes

N° - 100 111 Conexión rechazada 2xx Operación exitosa

N° Descripción200 OK201-203 Información no oficial

Page 4: html

204 Sin Contenido205 Contenido para recargar206 Contenido parcial

3xx Redirección hacia otro URL

N° Descripción300 Múltiples posibilidades301 Mudado permanentemente302 Encontrado303 Vea otros304 No modificado305 Utilice un proxy307 Redirección temporal

4xx Error por parte del cliente

N° Descripción400 Solicitud incorrecta401 No autorizado402 Pago requerido403 Prohibido404 No encontrado405 Método no permitido406 No aceptable407 Proxy requerido408 Tiempo de espera agotado409 Conflicto410 Ya no disponible411 Requiere longitud412 Falló precondición413 Entidad de solicitud demasiado larga414 URL de solicitud demasiado largo415 Tipo de medio no soportado416 Rango solicitado no disponible417 Falló expectativa

5xx Error por parte del servidor

N° Descripción500 Error interno501 No implementado502 Pasarela incorrecta503 Servicio no disponible504 Tiempo de espera de la pasarela agotado505 Versión de HTTP no soportada

Referencias

1. ↑ Enero de 1997. Se publica la primera versión de la especificación HTTP/1.1

Page 5: html

2. ↑ Junio de 1999. Publicada la última versión de la especificación HTTP/1.1 3. ↑ [1] PEP: An Extension Mechanism for HTTP. Cita: "For experimental purposes, PEP-

compatibility is equated with HTTP/1.2."

HTML

De Wikipedia, la enciclopedia libre

HTML (HyperText Markup Language)

Extensión de archivo: .html, .htmTipo de MIME: text/htmlDesarrollado por: W3CTipo de formato: Lenguaje de marcadoExtendido de: SGMLExtendido a: XHTMLEstándar(es): W3C HTML 4.01, W3C HTML 3.2

HTML, siglas de HyperText Markup Language (Lenguaje de Marcas de Hipertexto), es el lenguaje de marcado predominante para la construcción de páginas web. Es usado para describir la estructura y el contenido en forma de texto, así como para complementar el texto con objetos tales como imágenes. HTML se escribe en forma de "etiquetas", rodeadas por corchetes angulares (<,>). HTML también puede describir, hasta un cierto punto, la apariencia de un documento, y puede incluir un script (por ejemplo Javascript), el cual puede afectar el comportamiento de navegadores web y otros procesadores de HTML.

HTML también es usado para referirse al contenido del tipo de MIME text/html o todavía más ampliamente como un término genérico para el HTML, ya sea en forma descendida del XML (como XHTML 1.0 y posteriores) o en forma descendida directamente de SGML (como HTML 4.01 y anteriores).

Por convención, los archivos de formato HTML usan la extensión .htm o .html.

Historia de HTML

Primeras especificaciones

La primera descripción de HTML disponible públicamente fue un documento llamado HTML Tags (Etiquetas HTML), publicado por primera vez en Internet por Tim Berners-Lee en 1991.Describe 22 elementos comprendiendo el diseño inicial y relativamente simple de HTML. Trece de estos elementos todavía existen en HTML 4.

Berners-Lee consideraba a HTML una ampliación de SGML, pero no fue formalmente reconocida

Page 6: html

como tal hasta la publicación de mediados de 1993, por la IETF, de una primera proposición para una especificación de HTML: el boceto Hypertext Markup Language de Berners-Lee y Dan Connolly, el cual incluía una Definición de Tipo de Documento SGML para definir la gramática. El boceto expiró luego de seis meses, pero fue notable por su reconocimiento de la etiqueta propia del navegador Mosaic usada para insertar imágenes sin cambio de línea, reflejando la filosofía del IETF de basar estándares en prototipos con éxito. Similarmente, el boceto competidor de Dave Raggett HTML+ (Hypertext Markup Format) (Formato de marcaje de hipertexto), de 1993 tardío, sugería, estandarizar características ya implementadas tales como tablas.

Marcado HTML

HTML consiste de varios componentes vitales, incluyendo elementos y sus atributos, tipos de data, y la declaración de tipo de documento.

Elementos

Los elementos son la estructura básica de HTML. Los elementos tienen dos propiedades básicas: atributos y contenido. Cada atributo y contenido tiene ciertas restricciones para que se considere válido al documento HTML. Un elemento generalmente tiene una etiqueta de inicio (p.ej. <nombre-de-elemento>) y una etiqueta de cierre (p.ej. </nombre-de-elemento>). Los atributos del elemento están contenidos en la etiqueta de inicio y el contenido está ubicado entre las dos etiquetas (p.ej. <nombre-de-elemento atributo="valor">Contenido</nombre-de-elemento>). Algunos elementos, tales como <br>, no tienen contenido ni llevan una etiqueta de cierre. Debajo se listan varios tipos de elementos de marcado usados en HTML.

Estructura general de una línea de código en el lenguaje de etiquetas HTML

El marcado estructural describe el propósito del texto. Por ejemplo, <h2>Golf</h2> establece a "Golf" como un encabezamiento de segundo nivel, el cual se mostraría en un navegador de una manera similar al título "Marcado HTML" al principio de esta sección. El marcado estructural no define cómo se verá el elemento, pero la mayoría de los navegadores web han estandarizado el formato de los elementos. Un formato específico puede ser aplicado al texto por medio de hojas de estilo en cascada.

El marcado presentacional describe la apariencia del texto, sin importar su función. Por ejemplo, <b>negrita</b> indica que los navegadores web visuales deben mostrar el texto en negrita, pero no indica qué deben hacer los navegadores web que muestran el contenido de otra manera (por ejemplo, los que leen el texto en voz alta). En el caso de <b>negrita</b> e <i>itálica</i>, existen elementos que se ven de la misma manera pero tienen una naturaleza más semántica: <strong>enfásis fuerte</strong> y <em>énfasis</em>. Es fácil ver cómo un lector de pantalla debería interpretar estos dos elementos. Sin embargo, son equivalentes a sus correspondientes elementos presentacionales: un lector de pantalla no debería decir más fuerte el nombre de un libro, aunque éste esté en itálicas en una pantalla. La mayoría del marcado presentacional ha sido desechada con HTML 4.0, en favor de Hojas de estilo en cascada.

Atributos

La mayoría de los atributos de un elemento son pares nombre-valor, separados por un signo de igual "=" y escritos en la etiqueta de comienzo de un elemento, después del nombre de éste. El valor puede estar rodeado por comillas dobles o simples, aunque ciertos tipos de valores pueden estar sin comillas en HTML (pero no en XHTML). De todas maneras, dejar los valores sin comillas es considerado poco seguro. En contraste con los pares nombre-elemento, hay algunos atributos que afectan al elemento simplemente por su presencia(tal como el atributo ismap para el elemento img).

Page 7: html

Códigos HTML básicos

<html>: define el inicio del documento HTML, le indica al navegador que lo que viene a continuación debe ser interpretado como código HTML.

<head>: define la cabecera del documento HTML, esta cabecera suele contener información sobre el documento que no se muestra directamente al usuario. Como por ejemplo el título de la ventana del navegador. Dentro de la cabecera <head> podemos encontrar:

Un ejemplo de código HTML con coloreado de sintaxis

<title>: define el título de la página. Por lo general, el título aparece en la barra de título encima de la ventana

<link>: para vincular el sitio a hojas de estilo o iconos Por ejemplo:<link rel="stylesheet" href="/style.css" type="text/css">

<style>: para colocar el estilo interno de la página, ya sea usando CSS, JavaScript u otros lenguajes similares. No es necesario colocarlo si se va a vincular a un archivo externo usando la etiqueta <link>

<body>: define el contenido principal o cuerpo del documento. Esta es la parte del documento html que se muestra en el navegador; dentro de esta etiqueta pueden definirse propiedades comunes a toda la página, como color de fondo y márgenes. Dentro del cuerpo <body> podemos encontrar numerosas etiquetas. A continuación se indican algunas a modo de ejemplo:

<h1>, <h2>, <h3>, <h4>, <h5>, <h6>: encabezados o títulos del documento con diferente relevancia.

<table>: define una tabla <tr>: fila de una tabla

<td>: celda de datos de una tabla <a>: Hipervínculo o enlace, dentro o fuera del sitio web. Debe definirse el

parámetro de pasada por medio del atributo href. Por ejemplo: <a href="http://www.wikipedia.org">Wikipedia</a> se representa como Wikipedia)

<div>: área de la página <img>: imagen. Requiere del atributo src, que indica la ruta en la que se encuentra la

imagen. Por ejemplo: <img src="./imagenes/mifoto.jpg" /> <li><ol><ul>: Etiquetas para listas. <b>: texto en negrita (Etiqueta descartada. Se recomienda usar la etiqueta <strong>) <i>: texto en cursiva <u>: texto subrayado

La mayoría de etiquetas deben cerrarse como se abren, pero con una barra ("/") tal como se muestra en los siguientes ejemplos:

<table><tr><td>Contenido de una celda</td></tr></table> <script>Código de un script integrado en la página</script>

Nociones básicas de HTML

El lenguaje HTML puede ser creado y editado con cualquier editor de textos básico, como puede ser Gedit en Linux, el Bloc de Notas de Windows, o cualquier otro editor que admita texto sin formato como GNU Emacs, Microsoft Wordpad, TextPad, Vim, Notepad++, etc.

Page 8: html

Existen además, otros programas para la realización de sitios Web o edición de código HTML, como por ejemplo Microsoft FrontPage, el cual tiene un formato básico parecido al resto de los programas de Office. También existe el famoso software de Macromedia (que adquirió la empresa Adobe) llamado Dreamweaver, siendo uno de los más utilizados en el ámbito de diseño y programación Web. Estos programas se les conoce como editores WYSIWYG o What You See Is What You Get (en español: “lo que ves es lo que obtienes”). Esto significa que son editores en los cuales se ve el resultado de lo que se está editando en tiempo real a medida que se va desarrollando el documento. Ahora bien, esto no significa una manera distinta de realizar sitios web, sino que una forma un tanto más simple ya que estos programas, además de tener la opción de trabajar con la vista preliminar, tiene su propia sección HTML la cual va generando todo el código a medida que se va trabajando.

Combinar estos dos métodos resulta muy interesante, ya que de alguna manera se ayudan entre sí. Por ejemplo; si se edita todo en HTML y de pronto se olvida algún código o etiqueta, simplemente me dirijo al editor visual o WYSIWYG y se continúa ahí la edición, o viceversa, ya que hay casos en que sale más rápido y fácil escribir directamente el código de alguna característica que queramos adherirle al sitio, que buscar la opción en el programa mismo.

Existe otro tipo de editores HTML llamados WYSIWYM (Lo que ves es lo que quieres decir) que dan más importancia al contenido y al significado que a la apariencia visual. Entre los objetivos que tienen estos editores es la separación del contenido y la presentación, fundamental en el diseño Web.

HTML utiliza etiquetas o marcas, que consisten en breves instrucciones de comienzo y final, mediante las cuales se determina la forma en la que debe aparecer en su navegador el texto, así como también las imágenes y los demás elementos, en la pantalla del ordenador.

Toda etiqueta se identifica porque está encerrada entre los signos menor que y mayor que (<>), y algunas tienen atributos que pueden tomar algún valor. En general las etiquetas se aplicarán de dos formas especiales:

Se abren y se cierran, como por ejemplo: <b>negrita</b> que se vería en su navegador web como negrita.

No pueden abrirse y cerrarse, como <hr> que se vería en su navegador web como una línea horizontal.

Otras que pueden abrirse y cerrarse, como por ejemplo <p>. Las etiquetas básicas o mínimas son:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="es"> <head> <title>Ejemplo</title> </head> <body> <p>ejemplo</p> </body> </html>

Conocer más

Seleccionando la opción Ver código fuente en el navegador, se puede ver realmente la información que está recibiendo éste y cómo la está interpretando. Por ejemplo: en Internet Explorer o en Firefox, simplemente hay que desplegar el menú Ver y luego elegir Código fuente. De esta forma, se abrirá el editor de texto configurado como predeterminado en el sistema con el código fuente de

Page 9: html

la página que se esté viendo en ese momento en el explorador. Otra forma más rápida consiste en hacer clic con el botón derecho del ratón en cualquier punto del área donde el navegador muestra la página web y elegir Ver código fuente.

Para el navegador Firefox existe el plugin FireBug, un depurador que permite entre otras cosas visualizar el código HTML de la página que estamos visualizando de forma dinámica, y que incluso resalta el trozo de código por el que está pasando el ratón en cada momento, por lo que es una herramienta muy útil para aprender diversos conceptos de este lenguaje. El plugin puede obtenerse en : http://www.getfirebug.com/

Historia del estándar

En 1989 existían dos técnicas que permitían vincular documentos electrónicos, por un lado los hipervínculos (links) y por otro lado un poderoso lenguaje de etiquetas denominado SGML. Por entonces un usuario conocedor de ambas opciones, Tim Berners-Lee físico nuclear del Centro Europeo para la Investigación Nuclear da a conocer a la prensa que estaba trabajando en un sistema que permitirá acceder a ficheros en línea, funcionando sobre redes de computadoras o máquinas electrónicas basadas en el protocolo TCP/IP.

A principios de 1990, Tim Berners-Lee define por fin el HTML como un subconjunto del conocido SGML y crea algo más valioso aún, el World Wide Web. En 1991, Tim Berners-Lee crea el primer navegador de HTML que funcionaría en modo texto y para UNIX.

Los trabajos para crear un sucesor del HTML, denominado HTML +, comenzaron a finales de 1993. HTML+ se diseñó originalmente para ser un superconjunto del HTML que permitiera evolucionar gradualmente desde el formato HTML anterior. A la primera especificación formal de HTML+ se le dio, por lo tanto, el número de versión 2 para distinguirla de las propuestas no oficiales previas. Los trabajos sobre HTML+ continuaron, pero nunca se convirtió en un estándar, a pesar de ser la base formalmente más parecida al aspecto compositivo de las especificaciones actuales.

El borrador del estándar HTML 3.0 fue propuesto por el recién formado W3C en marzo de 1995. Con él se introdujeron muchas nuevas capacidades, tales como facilidades para crear tablas, hacer que el texto fluyese alrededor de las figuras y mostrar elementos matemáticos complejos. Aunque se diseñó para ser compatible con HTML 2.0, era demasiado complejo para ser implementado con la tecnología de la época y, cuando el borrador del estándar expiró en septiembre de 1995, se abandonó debido a la carencia de apoyos de los fabricantes de navegadores web. El HTML 3.1 nunca llegó a ser propuesto oficialmente, y el estándar siguiente fue el HTML 3.2, que abandonaba la mayoría de las nuevas características del HTML 3.0 y, a cambio, adoptaba muchos elementos desarrollados inicialmente por los navegadores web Netscape y Mosaic. La posibilidad de trabajar con fórmulas matemáticas que se había propuesto en el HTML 3.0 pasó a quedar integrada en un estándar distinto llamado MathML.

El HTML 4.0 también adoptó muchos elementos específicos desarrollados inicialmente para un navegador web concreto, pero al mismo tiempo comenzó a limpiar el HTML señalando algunos de ellos como 'desaprobados'.

Accesibilidad Web

Artículo principal: accesibilidad web

El diseño en HTML aparte de cumplir con las especificaciones propias del lenguaje debe respetar unos criterios de accesibilidad web, siguiendo unas pautas, o las normativas y leyes vigentes en los países donde se regule dicho concepto. Se encuentra disponible y desarrollado por el W3C a través de las Pautas de Accesibilidad al Contenido Web 1.0 WCAG, aunque muchos países tienen especificaciones propias como España con la Norma UNE 139803.

Page 10: html

Referencias

1. ↑ HTML Tags. World Wide Web Consortium. Consultado el 2007-04-08. 2. ↑ First mention of HTML Tags on the www-talk mailing list. World Wide Web Consortium

(1991-10-29). Consultado el 2007-04-08. 3. ↑ Index of elements in HTML 4. World Wide Web Consortium (1999-12-24). Consultado el

2007-04-08. 4. ↑ Tim Berners-Lee (1991-12-09). Re: SGML/HTML docs, X Browser (archived www-talk

mailing list post). Consultado el 2007-06-16. “SGML is very general. HTML is a specific application of the SGML basic syntax applied to hypertext documents with simple structure.”

5. ↑ Raymond, Eric. “IETF and the RFC Standards Process”, The Art of Unix Programming. “In IETF tradition, standards have to arise from experience with a working prototype implementation — but once they become standards, code that does not conform to them is considered broken and mercilessly scrapped. …Internet-Drafts are not specifications, and software implementers and vendors are specifically barred from claiming compliance with them as if they were specifications. Internet-Drafts are focal points for discussion, usually in a working group… Once an Internet-Draft has been published with an RFC number, it is a specification to which implementers may claim conformance. It is expected that the authors of the RFC and the community at large will begin correcting the specification with field experience.”

6. ↑ HTML+ Internet-Draft - Abstract. “Browser writers are experimenting with extensions to HTML and it is now appropriate to draw these ideas together into a revised document format. The new format is designed to allow a gradual roll over from HTML, adding features like tables, captioned figures and fill-out forms for querying remote databases or mailing questionnaires.”

7. ↑ www.w3.org/TR/html401/intro/sgmltut.html#h-3.2.2. 8. ↑ www.w3.org/TR/xhtml1/diffs.html#h-4.4. 9. ↑ www.cs.tut.fi/~jkorpela/qattr.html. 10. ↑ www.w3.org/History/19921103-hypertext/hypertext/WWW/MarkUp/Tags.html. 11. ↑ www.w3.org/TR/1999/REC-html401-19991224/struct/objects.html#adef-ismap. 12. ↑ Norma UNE 139803

Enlaces externos

Wikilibros

Wikilibros alberga un libro o manual sobre Lenguaje HTML. Página principal de HTML Estándar de html del W3C (en inglés). Historia de HTML (en inglés).

HTML +

HTML+ es un conjunto de extensiones de HTML formalizado por David Raggett en 1993, previamente a la primera especificación formal de HTML, y como recopilación, unificación, replanteamiento y mejora del conjunto de diferentes dialectos de HTML usados hasta entonces a partir de las primeras implementaciones realizadas por Tim Berners Lee en el período 1989-1991.

Con respecto a HTML, HTML+ aporta caracterísiticas nuevas como imágenes, tablas y formularios. También supone una generalización de comportamiento que refleja la experiencia práctica hasta el

Page 11: html

momento con HTML, intentando posibilitar mayor facilidad de conversión desde y hacia otros formatos. Asimismo se formalizan las listas anidadas, que venían usándose como característica propietaria hasta entonces, en las primeras implementaciones.

Resumen de características adicionales con respecto a las versiones previas (no formales) de HTML:

Formularios (elementos FORM, INPUT, TEXTAREA, SELECT, OPTION, y la mayoría de atributos presentes en la forma actual de XHTML).

Elemento MH en formularios para transmisión de cabeceras tipo RFC 822. Elemento FIG para imágenes (precursor del float de CSS, con el elemento adyacente

CAPTION para la entradilla de la imagen). Elemento de línea horizontal (HR). Elemento para tachado de texto (S). Elementos para subíndices y superíndices (SUB y SUP). Comillas en línea (elemento Q). Indicación de cambios (elemento CHANGED). Elementos para inclusión de simbología matemática (precursores de MathML). Elementos de literatura semántica: ABSTRACT, BYLINE, QUOTE, NOTE. Notas marginales y de pié de página (FOOTNOTE y MARGIN). Identificadores de fragmento (atributo id en cabeceras H1...H6). Soporte moderno de tablas:

<table border> <caption>A more complex table</caption> <th rowspan=2><th colspan=2>average<th rowspan=2>other<br>category<tr> <th>height <th>weight <tr> <th align=left>males <td>1.9 <td>0.003 <td>yyy <tr> <th align=left>females <td>1.7 <td>0.002 <td>xxx </table>

A more complex tableaverage other

categoryheight weight

males 1.9 0.003 yyy

females 1.7 0.002 xxx

Esta especificación es contemporánea al navegador Cello y a las primeras implementaciones de X-Mosaic.

Referencias

Especificación HTML+, 1993 (HTML con hipervínculos, en inglés) Document Type Definition (Véase DTD)

HTML

Page 12: html

HTML 2.0 (RFC 1866), editado por Tim Berners Lee y Dan Conolly, es la primera versión oficial del lenguaje informático HTML, y supone una formalización de las anteriores versiones de HTML en uso que Tim Berners Lee publica y mantiene en discusión pública dentro de la comunidad internet para implementación y reforma de 1990 hasta 1995.

Basado en SGML, constituye una definición completamente limpia del lenguaje, sin soporte para tablas, que no incluye ningún elemento puramente presentacional, por tanto haciendo hincapié en la directividad del lenguaje hacia la definición de un marco estructural puro para el contenido y coherente enfocado hacia la funcionalidad hipertextual:

<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN"><title>Ejemplo de documento</title> <p> con un <a href=http://www.w3c.org>grado de purismo</a> sencillamente <em>*impresionante*</em> </p>

Es clara la vocación a una edición manual, donde se simplifica al máximo la estructura del documento para agilizar su edición, donde la declaración explícita de los elementos body, html y head es opcional, a diferencia de XHTML.

La falta de adherencia estricta a esta especificación desde 1995, en especial con la buena marcha y popularidad del uso de la implementación ampliada de Netscape 2.0-3.0, y el elevado grado de difusión que impulsa un importante movimiento de diseñadores en pro del uso de las tablas semánticas que incluye HTML + para presentación avanzada (conocidas como tablas de layout), y su popularización debido a su facilidad de uso, expresividad, similitud con herramientas existentes y buen soporte en los navegadores de la época, junto con la carencia de un buen soporte de CSS (nivel 1, por aquel entonces), agregado al enfoque comercial englobado en el boom de las webs dinámicas, que propicia el enfoque comercial hacia el envoltorio, el premio individualista de la forma, canalizado óptimamente en tecnologías que aporten dinamismo (DHTML) y espectacularidad (Flash), en perjucio del diseño funcional o minimalista propio del enfoque a contenidos, supondría el comienzo de la batalla por replantear, o más bien, plantear casi de cero una fuerte necesidad de volver al punto inicial de disociación clara entre estructura y presentación en la web de mediados-finales de los años 90, una vez hay tiempo para un replanteamiento claro de las raíces de la world wide web, más incidente en la filosofía utilitaria de la misma, que en una proyección ideológica de exclusivismo tecnológico.

En este sentido HTML 2.0, por su pureza, es un lenguaje que podemos considerar completamente actual y un curioso espejo de la realidad minimalista y funcional paralela que obtiene su canal de expresión más cartesianamente intelectual en los conceptos fundamentales de diferenciación entre semántica y presentación, apuntando hacia la socialización de la web, conceptualizada en el enfoque a flexibilidad en la gestión y difusión de contenidos, usabilidad, que abandera la web 2.0.

Enlaces externos

Wikilibros

Wikilibros alberga un libro o manual sobre Lenguaje HTML. Especificación HTML 2.0 (formato HTML, con hipervínculos, en inglés) RFC 1866 (formato texto, en inglés) HTML draft, 1993 (en inglés) HTML+, 1993 (en inglés)

XHTML

Page 13: html

Extensible HyperText Markup Language (XHTML)Extensión de archivo: .xhtml, .xht, .html, .htmTipo de MIME: application/xhtml+xmlDesarrollado por: World Wide Web ConsortiumTipo de formato: Lenguaje de marcadoExtendido de: XML y HTML

Estándar(es):

1.0 (Recommendation),1.1 (Recommendation),1.1 SE (Working Draft),2.0 (Working Draft)

XHTML, acrónimo inglés de eXtensible Hypertext Markup Language (lenguaje extensible de marcado de hipertexto), es el lenguaje de marcado pensado para sustituir a HTML como estándar para las páginas web. En su versión 1.0, XHTML es solamente la versión XML de HTML, por lo que tiene, básicamente, las mismas funcionalidades, pero cumple las especificaciones, más estrictas, de XML. Su objetivo es avanzar en el proyecto del World Wide Web Consortium de lograr una web semántica, donde la información, y la forma de presentarla estén claramente separadas. La versión 1.1 es similar, pero parte a la especificación en módulos. En sucesivas versiones la W3C planea romper con los tags clásicos traídos de HTML.

Vista general

XHTML es una "reformulación de los tres tipos de documento definidos por HTML 4, pero como aplicaciones de XML". Al mismo tiempo el W3C continúa recomendando el uso de HTML 4 y al mismo tiempo avanza en la especificación de HTML 5 (y XHTML5).

Se sintió que era necesaria una versión más estricta de HTML principalmente porque el contenido de la World Wide Web ahora puede visualizarse desde numerosos dispositivos (como móviles) aparte de las computadoras de escritorio tradicionales, donde no se contaría con los recursos necesarios para afrontar la complejidad de la sintaxis del HTML. Sin embargo, en la práctica, fueron apareciendo navegadores para dispositivos móviles que pueden manejar documentos HTML comunes, antes que XHTML sea adoptado por los navegadores principales.

En octubre de 2005 aproximadamente el 10% de los internautas utilizaban un navegador compatible con el estándar XHTML. El Internet Explorer de Microsoft es incompatible con XHTML, a pesar de que esta empresa sea miembro de la W3C. Por tanto, gran parte de los autores de sitios web se ven forzados a elegir entre la escritura de documentos válidos, respetuosos con los estándares u ofrecer contenido que se visualice correctamente en la mayor parte de los navegadores, del mismo modo, la corroboración de los específicos es vital para las fluctuaciones pertinentes.

Las diferencias entre HTML y la primera generación de XHTML (es decir, XHTML 1.x) son menores ya que, principalmente, están destinados a conseguir la conformidad con XML. El cambio más importante es el requisito de que el documento esté bien formado y que todas las etiquetas estén explícitamente cerradas, como se requiere en XML. Como las etiquetas en XML distinguen entre mayúsculas y minúsculas (case-sensitive), la recomendación XHTML ha definido todos los nombres de etiqueta en minúsculas. Lo cual está en contraste directo con las tradiciones extendidas en el tiempo de HTML 2.0, cuando mucha gente prefería las mayúsculas para estos casos, normalmente para mostrar más fácilmente el contraste de éstas con el contenido. En XHTML, los valores de los atributos deben encerrarse entre comillas (siempre comillas "dobles"). Al contrario ocurría en SGML y por consecuencia en HTML, donde las comillas podían omitirse en algunos

Page 14: html

casos. Todos los elementos han de ser explícitamente cerrados, incluyendo elementos vacíos como pueden ser img o br. Esto puede hacerse añadiendo una barra a la etiqueta: <img … /> y <br />. La minimización de atributos (como <option selected>) está también prohibida; en lugar de eso, se usa <option selected="selected">. Hay más diferencias detalladas en la recomendación XHTML 1.0 de la W3C.

Ventajas respecto del HTML

Las principales ventajas del XHTML sobre el HTML son:

Se pueden incorporar elementos de distintos espacios de nombres XML (como MathML y Scalable Vector Graphics).

Un navegador no necesita implementar heurísticas para detectar qué quiso poner el autor, por lo que el parser puede ser mucho más sencillo.

Como es XML se pueden utilizar fácilmente herramientas creadas para procesamiento de documentos XML genéricos (editores, XSLT, etc.).

Apéndice C

El estándar XHTML indica en un apéndice informativo una manera de escribir XHTML de modo tal que los navegadores actuales que sólo entienden HTML, lo procesen como si fuera éste. Para esto se deberá crear un documento con algunas restricciones y consideraciones, y servirlo con el "content-type" text/html, en vez del correcto para XHTML.

Algunas de las reglas propuestas para que XHTML "parezca" HTML son:

No usar instrucciones de proceso. Los elementos vacíos (como <br>) deberán escribirse <br />, es decir en forma abreviada y

con un espacio antes de "/". No se debe utilizar la forma abreviada para elementos no vacíos que no tengan contenido, es

decir: no se debe escrbir <p/>.

Para algunos autores, la inclusión de este apéndice en el estándar fue un error y consideran que es un error usar XHTML de esta manera.

Diferencias entre HTML y XHTML

La siguiente lista muestra algunas reglas de XHTML 1.0 que lo diferencian de HTML 4.01. Muchas de estas diferencias vienen con el cambio de ser una aplicación SGML a ser una aplicación del más estricto XML:

Los elementos vacíos deben cerrarse siempre: Incorrecto: <br> Correcto: <br></br> o <br/> o <br />

Nota: Cualquiera de las tres formas es válida en XHTML. Para compatibilidad según el "Apéndice C" debe usarse <br />.

Los elementos no vacíos también deben cerrarse siempre: Incorrecto: <p>Primer párrafo<p>Segundo párrafo Correcto: <p>Primer párrafo</p><p>Segundo párrafo</p>

Los elementos anidados deben tener un correcto orden de apertura/cierre (el que se abre último, debe cerrarse primero).

Incorrecto: <em><strong>Texto</em></strong> Correcto: <em><strong>Texto</strong></em>

Los valores de los atributos deben siempre ir encerrados entre comillas (simples o dobles). Incorrecto: <td rowspan=3> Correcto: <td rowspan="3">

Page 15: html

Correcto: <td rowspan='3'> Los nombres de elementos y atributos deben ir en minúsculas.

Incorrecto: <A HREF="http://www.domname.com">Domname</A> Correcto: <a href="http://www.domname.com">Domname</a>

No está permitida la minimización de atributos (se usa el nombre del atributo como valor). Incorrecto: <textarea readonly>Solo-lectura</textarea> Correcto: <textarea readonly="readonly">Solo-lectura</textarea>

Los atributos desaprobados en HTML 4.01 no forman parte de XHTML. Incorrecto: <font color="#0000FF">Blue text</font> Correcto: <span style="color: #0000FF;">Blue text</span>

Reglas para DTDs estrictos

El texto no debe ser insertado directamente en el cuerpo (dentro de la etiqueta "body"). Incorrecto: <body>Texto plano</body> Correcto: <body><span>Texto plano</span></body>

No se deben insertar elementos de bloque dentro de elementos de línea. Incorrecto: <em><h2>Título</h2></em> Correcto: <h2><em>Título</em></h2>

Referencias

1. ↑ http://www.w3.org/TR/xhtml1/#xhtml Sección 'What is XHTML?' en XHTML™ 1.0 The Extensible HyperText Markup Language (Second Edition) A Reformulation of HTML 4 in XML 1.0 W3C Recommendation 26 January 2000, revised 1 August 2002

2. ↑ OneStat Website Statistics and website metrics - Press Room 3. ↑ World Wide Web Consortium (W3C) Members 4. ↑ http://hixie.ch/advocacy/xhtml

Enlaces externos

Wikilibros

Wikilibros alberga un libro o manual sobre Lenguaje XHTML. Guía breve oficial de XHTML del World Wide Web Consortium (W3C) Traducción de la especificación oficial de XHTML Resumen sobre las novedades del borrador XHTML 2.0 Especificación oficial de XHTML (en inglés) Validador en línea del W3C (en inglés) Guía en línea sobre el lenguaje XHTML Tutorial básico de XHTML 1.0 Strict