Linguagem de marcação de hipertexto HTML
Extensões | .html, .htm |
---|---|
Tipo MIME | text/html |
Desenvolvido por | World Wide Web Consortium e WHATWG |
Versão inicial | 1993 |
Tipo de formato | Linguagem de marcação |
Baseado em | Linguagem de marcação generalizada padrão |
Origem de | XHTML |
Padrão |
ISO / IEC 15445 W3C HTML 4.01 W3C HTML5 |
ISO | 15445 |
Especificação | Formato aberto |
Sites |
www.w3.org/html html.spec.whatwg.org/multipage w3c.github.io/html |
A linguagem de marcação de hipertexto , comumente abreviada como HTML ou em seu HTML5 mais recente, é a linguagem de marcação projetada para representar páginas da web .
Este idioma permite:
É frequentemente usado em conjunto com a linguagem de programação JavaScript e Cascading Style Sheets (CSS). O HTML é inspirado na Standard Generalized Markup Language (SGML). Este é um formato aberto .
O Inglês Hypertext Markup Language traduz literalmente em linguagem de marcação de hipertexto . Normalmente a sigla HTML é usada, às vezes até repetindo a palavra "idioma" como em "linguagem HTML". Às vezes, o hipertexto é escrito como hipertexto para marcar o T na sigla HTML.
O HTM, às vezes desinformado, para falar em público em vez de HTML, sendo HTM o nome do arquivo de extensão truncado em três letras, uma limitação encontrada em sistemas operacionais mais antigos da Microsoft .
Durante a primeira metade da década de 1990 , antes do surgimento de tecnologias web , tais como JavaScript (JS), Cascading Style Sheets (CSS), e o Document Object Modelo (Dom), a evolução do HTML ditou a evolução da World Wide Web . Desde 1997 e HTML 4 , a evolução do HTML desacelerou consideravelmente; 10 anos depois, o HTML 4 ainda é usado em páginas da web . Em 2008 , a especificação do HTML5 está em estudo e passa a ser de uso comum na segunda metade da década de 2010 .
HTML é uma das três invenções que formaram a base da World Wide Web , junto com o protocolo de transferência de hipertexto (HTTP) e endereços da web ( URLs ). O HTML foi inventado para tornar possível escrever documentos hipertextuais vinculando vários recursos da Internet com hiperlinks . Hoje, esses documentos são chamados de " página da web ". DentroAgosto de 1991, quando Tim Berners-Lee anuncia publicamente a web na Usenet , ele cita apenas SGML , mas fornece a URL de um documento de sufixo.html.
Em seu livro Weaving the web , Tim Berners-Lee descreve a decisão de basear HTML em SGML como sendo tão "diplomática" quanto técnica: tecnicamente, ele achou o SGML muito complexo, mas queria atrair a comunidade de hipertexto que via o SGML como a linguagem, a mais promissora para padronizar o formato de documentos de hipertexto. Além disso, o SGML já era usado por seu empregador, a Organização Europeia para a Pesquisa Nuclear (CERN). ;
Os primeiros elementos do HTML incluem:
A descrição do HTML é então bastante informal e definida principalmente pelo suporte de vários navegadores da web contemporâneos. Dan Connolly ajudou a tornar o HTML um verdadeiro aplicativo SGML .
O estado do HTML corresponde então ao que poderíamos chamar de HTML 1.0 . Porém, não existe uma especificação com esse nome, até porque a linguagem estava em plena evolução na época. No entanto, um esforço de padronização estava em andamento. Desde o final de 1993 , o termo HTML + foi usado para se referir à versão futura do HTML. Apesar do esforço de padronização assim iniciado, e até o final da década de 1990 , o HTML era definido principalmente por implementações de navegador.
Com o navegador NCSA Mosaic , o HTML conhece duas grandes invenções:
Com o advento do Netscape Navigator 0.9, o13 de outubro de 1994, foi adicionado suporte para muitos elementos de apresentação: atributos de texto, piscando, centralização, etc.
O desenvolvimento de HTML, então, segue dois caminhos divergentes:
Os designers seguem os princípios da SGML de deixar a apresentação para uma linguagem de estilo. Nesse caso, as folhas de estilo em cascata (CSS) são destinadas ao HTML. Apenas o suporte de tabelas se integra rapidamente aos navegadores, em particular porque permite uma melhoria muito clara da apresentação. Além da multiplicação dos elementos de apresentação, o software que produzia e consumia HTML geralmente concebia os documentos como uma série de comandos de formatação, em vez de uma marcação que representa a estrutura em árvore hoje conhecida como Document Object Model (DOM). A falta de estrutura do HTML então implementado é por vezes denunciada como sendo " tag soup ", em inglês : tag soup .
Dentro Março de 1995, o recém-fundado World Wide Web Consortium (W3C) oferece o resultado de sua pesquisa em HTML +: o rascunho HTML 3.0 . Inclui suporte para tabelas, figuras e expressões matemáticas. Este rascunho expira em28 de setembro de 1995sem dar seguimento direto. No final de 1995 , a RFC 1866 que descreve o HTML 2.0 foi finalizada. O editor principal é Dan Connolly . Este documento descreve o HTML como ele existia antesJunho de 1994, portanto, sem as muitas adições do Netscape Navigator .
O 14 de janeiro de 1997, o W3C publica a especificação HTML 3.2 . Descreve a prática atual observada no início de 1996 , portanto com parte das adições do Netscape Navigator e do Internet Explorer . Suas novidades mais importantes são a padronização de tabelas e diversos elementos de apresentação. O HTML 3.2 precede o HTML 4.0 de forma restrita e contém elementos para estilização e suporte a scripts.
O 18 de dezembro de 1997, o W3C publica a especificação HTML 4.0 que padroniza muitas extensões que suportam estilos e scripts, quadros e objetos (inclusão de conteúdo generalizado). O HTML 4.0 também traz diversas melhorias para a acessibilidade do conteúdo, principalmente a possibilidade de uma separação mais explícita entre a estrutura e a apresentação do documento, ou o suporte de informações adicionais sobre determinados conteúdos complexos como formulários, tabelas ou siglas. O HTML 4.0 apresenta três variações do formato, destinadas a promover a evolução para uma marcação mais significativa, levando em consideração as limitações temporárias das ferramentas de produção:
Essas variações continuam depois disso sem modificações significativas no HTML 4.01 e no formato de transição XHTML 1.0 do HTML. A especificação HTML mais recente é a versão 4.01 datada24 de dezembro de 1999. Faz apenas pequenas correções na versão 4.0 .
O desenvolvimento do HTML como uma aplicação da Standard Generalized Markup Language (SGML) é oficialmente abandonado em favor do XHTML , uma aplicação da Extensible Markup Language (XML). No entanto, em 2004 , os editores de navegadores web criaram o Grupo de Trabalho de Tecnologia de Aplicação de Hipertexto (WHATWG) com o objetivo, em particular, de relançar o desenvolvimento do formato HTML e atender a novas necessidades em uma base tecnológica considerada mais fácil de implementar. o XHTML 2.0 sendo projetado. Isso faz parte do contexto de um desafio mais geral ao modo de operação do W3C, considerado muito fechado por alguns desenvolvedores e web designers.
Dentro Março de 2007, extraindo a consequência da relutância de parte da indústria e dos designers de conteúdo da web em enfrentar o XHTML 2.0 , o W3C relança o desenvolvimento do HTML e cria um novo grupo de trabalho supervisionado por Chris Wilson ( Microsoft ) e inicialmente Dan Connolly ( W3C ), agora Michael Smith ( W3C ). Esses incluem:
O trabalho do WHATWG foi formalmente adotado em Maio de 2007como ponto de partida para uma nova especificação HTML5 . Este documento foi publicado como um esboço de trabalho em22 de janeiro de 2008. Entre os princípios de design mencionados pelo grupo de trabalho estão, em particular:
Uma Força-Tarefa de Acessibilidade é criada pelo W3C emnovembro de 2009de forma a resolver os problemas de compatibilidade do novo formato com os padrões de acessibilidade , ligados nomeadamente à implementação do ARIA , às alternativas textuais e aos novos elementos canvase video.
O desenvolvimento do XHTML 2.0 é inicialmente continuado em paralelo, em resposta às necessidades de outras áreas da web, como dispositivos móveis, aplicativos corporativos e aplicativos de servidor. Então emjulho de 2009, o W3C decide não renovar o Grupo de Trabalho XHTML 2 no final de 2009.
Com o abandono do XHTML 2 , a versão XHTML 1.1 permanece, portanto, a versão padronizada. HTML5 será compatível com XHTML e XML e, portanto, permitirá documentos XHTML5 . No entanto, é provável que o W3C esteja caminhando para um abandono total do XHTML 1.1 , porque a implementação do XML em HTML5 torna desnecessária a definição de documento do tipo XHTML y . y (onde yy são os números da versão).
Dentro janeiro de 2011, diferenças de opinião entre Ian Hickson (engenheiro do Google), que escreve a especificação HTML5, e os membros do grupo de trabalho W3C lideram o WHATWG para criar HTML Living Standard (literalmente: padrão vivo de HTML), uma especificação de HTML destinada a estar em constante evolução, a fim de acompanhar o rápido desenvolvimento de novas funcionalidades por parte dos desenvolvedores de navegadores (em oposição às versões numeradas, portanto "fixas").
O HTML Living Standard visa incluir HTML5 e desenvolvê-lo continuamente. Em particular, na versão de22 de agosto de 2012, o documento de referência explica que o W3C HTML5, publicado em 22 de junho de 2012, é baseado em uma versão do HTML Living Standard , mas que o HTML Living Standard não pára nesta versão e continua a evoluir. Ele desenvolve em particular as diferenças entre a versão W3C (o HTML5) e a versão HTML Living Standard (por exemplo, novos bugs não são levados em consideração no HTML5, diferenças sintáticas são listadas e novas tags criadas pelo HTML Living Standard não são incluído no HTML5).
HTML é uma linguagem de descrição de formato de documento que assume a forma de uma linguagem de marcação cuja sintaxe vem da Standard Generalized Markup Language (SGML).
Até e incluindo a versão 4.01 , o HTML é formalmente descrito como um aplicativo da Standard Generalized Markup Language (SGML). No entanto, especificações sucessivas admitem, por vários meios, que os agentes de usuário não são, na prática, analisadores compatíveis com SGML . Os navegadores da Web não foram capazes de decifrar todas as variações permitidas pela sintaxe de SGML ; por outro lado, eles geralmente são capazes de capturar automaticamente muitos erros de sintaxe, de acordo com a primeira parte da "lei de Postel ": "Seja liberal no que você aceita e conservador no que você envia" ( RFC 791). Na verdade, os desenvolvedores de páginas e navegadores da web sempre tiveram bastante liberdade com as regras sintáticas do SGML . Finalmente, a definição do tipo de documento HTML (DTD), a descrição técnica formal do HTML, não foi escrita por Dan Connolly até alguns anos após a introdução do HTML.
Apesar das liberdades assumidas com o padrão, a terminologia específica para SGML é utilizada: documento, elemento, atributo, valor, tag, entidade, validade, aplicação, etc. Graças ao DTD, é possível verificar automaticamente a validade de um documento HTML usando um analisador SGML .
Originalmente, o HTML foi projetado para simplesmente marcar (ou marcar) texto, incluindo a adição de hiperlinks a ele. Usamos um mínimo de tags, como no seguinte 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 exemplo contém texto, cinco tags e uma referência de entidade:
Um documento HTML válido é um documento que respeita a sintaxe SGML , usa apenas elementos e atributos padronizados e respeita o aninhamento de elementos descritos pelo padrão. Apenas uma declaração de tipo de documento está faltando no exemplo anterior para que seja um documento HTML 2.0 válido.
No entanto, um documento válido não é suficiente para estar em conformidade com a especificação HTML de destino. Na verdade, além do requisito de validade, um documento conforme está sujeito a outras restrições que não são expressas pela definição do tipo de documento (DTD), mas que são expressas pela própria especificação. Esse é particularmente o caso para o tipo de conteúdo de certos atributos, como o do atributo datetime : para ser compatível com HTML 4.01 , ele deve estar em conformidade com um subconjunto do padrão ISO 8601 . Um analisador estritamente SGML , como o validador W3C HTML, não pode, portanto, garantir a conformidade de um documento HTML.
Nos primeiros anos, os documentos HTML eram frequentemente vistos como estruturas planas e as tags como comandos de estilo. Portanto, a tag <p>foi considerada uma quebra de linha e </p>foi ignorada. Ou quando o JavaScript 1.0 apareceu, ele só deu acesso a links de documentos e formulários por meio de tabelas document.formse document.links.
Com a introdução das Cascading Style Sheets e do Document Object Model , tornou-se necessário considerar que os documentos HTML possuem uma verdadeira estrutura em árvore , com um elemento raiz contendo todos os outros elementos. As tags de abertura e fechamento desses elementos permanecem opcionais. Porém, hoje existe uma tendência de marcar cada elemento e indicar o DTD. Com exceção do elemento raiz, cada elemento tem exatamente um elemento pai direto; esta “árvore de documentos” é usada em particular pela estrutura de formatação que deriva dela para a aplicação de folhas de estilo em cascata onde cada elemento pode ter seu próprio fundo, borda e margem.
A estrutura e o código dos sites também podem ser consultados adicionando view-source:antes da url da página. Para a página atual que daria . view-source:https://fr.m.wikipedia.org/wiki/Hypertext_Markup_Language
Fonte HTML | Modelo de documento |
---|---|
<!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 cabeça título texto corpo texto no texto texto p texto |
A versão 4 do HTML descreve 91 elementos . Seguindo a especificação do HTML 4 , as funcionalidades implementadas pelo HTML podem ser divididas da seguinte forma:
Estrutura geral de um documento HTML No nível mais alto, um documento HTML é separado entre um cabeçalho e um corpo. O cabeçalho contém informações sobre o documento, incluindo seu título e possivelmente metadados . O corpo contém o que é exibido. Informação de idioma É possível indicar o idioma de qualquer parte do documento e administrar a mistura do texto escrito da esquerda para a direita com o texto da direita para a esquerda . Etiquetagem semântica HTML ajuda a diferenciar conteúdo específico, como citações de trabalhos externos, fragmentos de código de computador, passagens enfatizadas e abreviações. Alguns desses elementos, inicialmente projetados para apoiar a documentação técnica, são muito raramente usados (diferenciação entre elementos de valor variável e de exemplo em um código de computador, por exemplo, ou mesmo uma instância de um termo definido no contexto). Listas O HTML diferencia entre listas não ordenadas e ordenadas , dependendo se a ordem formal do conteúdo no código é ou não informação em si. As listas de definição também existem, mas seu escopo é determinado com exatidão. Mesas Essa funcionalidade é usada formalmente para a apresentação de dados tabulares, mas foi explorada principalmente por seus recursos de layout antes que as folhas de estilo em cascata (CSS) atingissem um grau de maturidade suficiente. Hiperlinks A principal funcionalidade do HTML. Inclusão de imagens, miniaplicativos e objetos diversos Originalmente, o HTML permitia apenas hiperlinks para mídia externa. A invenção de elementos especializados para multimídia permitiu a inclusão automática de imagem, música, vídeo, etc. em páginas da web. Elementos de agrupamento Não conferindo nenhum significado ao conteúdo que marcam, esses elementos genéricos permitem aplicar estilos de apresentação, realizar o processamento por meio de scripts ou qualquer outra operação que requeira o isolamento de parte do conteúdo. Estilo de apresentação Cada elemento, ou mesmo o documento inteiro, pode ter estilos aplicados. Os estilos são definidos no documento ou vêm de folhas de estilo em cascata (CSS) externas. Marcação de apresentação de texto Desenvolvido antes da generalização do CSS para fornecer funcionalidade rapidamente aos designers gráficos. A maior parte do uso agora oficialmente desencorajada. Molduras Também conhecido como frames , um recurso frequentemente criticado que permite exibir vários documentos HTML em uma única janela. Formulário para inserção interativa de dados Os elementos do formulário permitem que os visitantes insiram texto e arquivos nas páginas da web. Scripts Usado para associar partes do programa às ações do usuário no documento. As linguagens usadas são geralmente JavaScript e VBScript .Os atributos permitem que você especifique as propriedades dos elementos HTML. Existem 188 atributos na versão 4 do HTML.
Alguns atributos se aplicam a quase todos os elementos:
Outros atributos são exclusivos para um único elemento ou elementos semelhantes. Por exemplo :
A maioria dos atributos são opcionais. No entanto, alguns elementos têm atributos obrigatórios:
O tipo de conteúdo dos atributos HTML está parcialmente fora do escopo deste padrão e sua validação se enquadra em padrões de terceiros, como URIs , tipos de conteúdo ou códigos de idioma .
Finalmente, alguns atributos são do tipo booleano. Esses são os únicos atributos cuja sintaxe pode ser validamente implícita em HTML: o atributo selectedde um controle de formulário pode, portanto, ser reduzido para o formulário que selectedsubstitui o formulário completo selected="selected". Essa forma particular é um dos pontos que diferenciam o HTML da sintaxe de documentos “bem formados” no sentido XML.
As páginas da Web podem ser escritas em todos os tipos de idiomas e muitos caracteres podem ser usados, exigindo um conjunto de caracteres por tipo de escrita ou um conjunto de caracteres universal. Quando o HTML apareceu, o conjunto de caracteres universais Unicode ainda não foi inventado e muitos conjuntos de caracteres foram usados lado a lado, incluindo ISO-8859-1 para o alfabeto latino e da Europa Ocidental, Shift-JIS para o japonês , KOI8-R para o Cirílico . Hoje, a codificação UTF-8 para Unicode é mais comum.
O protocolo de comunicação HTTP transmite o nome do conjunto de caracteres. O cabeçalho HTML pode incluir um lembrete desse conjunto de caracteres, que deve ser o mesmo, a menos que haja um erro de configuração. Finalmente, após uma configuração incorreta, o conjunto de caracteres realmente usado pode ainda ser diferente do conjunto anunciado. Essas configurações incorretas geralmente causam erros de exibição de texto, especialmente para caracteres não cobertos pelo padrão ASCII .
Tecnologia de exaustãoAntes da generalização do Unicode, as entidades eram definidas para representar certos caracteres não ASCII . Tudo começou com os caracteres da ISO 8859-1 no padrão HTML 2.0 . Para os diacríticos, essas entidades seguem um princípio simples: a letra seguida da abreviatura do diacrítico associado.
personagem | referência de entidade | Observação |
---|---|---|
NO | Á | acutepara o sotaque agudo |
NO | Â | circpara o sotaque circunflexo |
NO | À | gravepara o sotaque grave |
NO | Å | ringpara a rodada principal |
NO | Ã | tildepara o til |
NO | Ä | umlpara trema |
VS | Ç | cedilpara a cedilha |
Ø | Ø | slashpara a barra |
Conforme formalizado pelo W3C , o HTML é projetado para otimizar a interoperabilidade dos documentos. HTML não é usado para descrever a renderização final de páginas da web . Em particular, ao contrário da editoração eletrônica , o HTML não foi projetado para especificar a aparência visual dos documentos. Em vez disso, o HTML é projetado para dar sentido às diferentes partes do texto: título, lista, passagem importante, citação, etc. O HTML foi desenvolvido com a intuição de que dispositivos de todos os tipos seriam usados para navegar na web: computadores pessoais com telas de resolução e profundidade de cores variadas, telefones celulares, dispositivos de síntese e reconhecimento de computador. Fala, computadores com largura de banda baixa e alta e assim sobre.
Como o HTML não se concentra na renderização final do documento, o mesmo documento HTML pode ser visualizado usando uma ampla variedade de hardware e software. No nível do hardware, um documento pode, em particular, ser exibido em uma tela de computador em modo gráfico ou em um terminal de computador em modo de texto , pode ser impresso ou pode ser falado por síntese de voz . No nível do software, o HTML também não faz suposições, e vários tipos de software lêem HTML: navegador da web , rastreador , vários scripts (em Perl , PHP ) para processamento automático.
Um alto grau de interoperabilidade reduz os custos dos provedores de conteúdo porque uma única versão de cada documento atende a uma ampla variedade de necessidades. Para o usuário da web, a interoperabilidade permite a existência de vários navegadores concorrentes, todos capazes de visualizar toda a web.
Cada versão do HTML tentou refletir o maior consenso entre os participantes da indústria, para que os investimentos feitos pelos provedores de conteúdo não sejam desperdiçados e seus documentos rapidamente se tornem ilegíveis. A separação do conteúdo e da forma nem sempre foi respeitada durante o desenvolvimento da linguagem, como evidenciado, por exemplo, pela marcação do estilo do texto, que permite indicar em particular a fonte desejada para exibição, seu tamanho ou sua cor.