世界中を「情報の繋がり」で蜘蛛の巣のように結びつけることをめざして WWWが生まれた。このための情報を記述 する言語がHTMLである。 もとは、スイスのCERNで、研究者達が論文などの情報を交換使用しているコン ピュータの種類に依らずできるようにするために設計された。
HTML言語自体にもバージョンがある。
ワープロでの装飾と同様の効果が得られる程度の、主に視覚的効果を 制御する言語で、文書そのものを「構造化」して捉える点においては 不十分だった。
整形処理のための要素がいくつか加えられた。
WWWによって、インターネットが身近になり、1995年頃から爆発的に利用者 が増えた。当時のブラウザは、自社の製品を売り込むための道具として使 われた。Netscape と Internet Explorer がより多くの表示機能を持たせ るためにHTMLを独自に拡張し続けた。このまま独自機能拡張戦争が続くと 誰とでも情報交換するための道具という目的が揺らぐ。これを防ぐため WWWの産みの親である Tim Berners-Lee は、W3C(The World Wide Web Consortium) を設立し、HTML言語の共通規格化を目指した。当時の 独自拡張機能をいくつか取り込み、HTML 3.2とした。
ほとんどの人がHTML 3.2の時代にHTMLを覚え始めたため、現在でもHTML 3.2 の記述が良く使われている。しかしHTML3までの時代は、文書の 見栄えを直接的に操作することがゆるやかに認められていたものであるため、 「見る人に優しい文書」を書くのに適さない。
文字をでたらめに並べたものは文章(日本語)にならない。同様に、 単語や文をでたらめに並べたものは文書と呼ばない。文書とは、 意味ある単語(または文)が「題目」、「章見出し」、「本文」などの役割を なす部品となり、それらが決まった組み合わせ方で連なったものである。 それらの組み合わせのことを構造という。
扱う文書の構造に着目し、構造のみを正確に記述することを目指して設計さ れた。見栄えを制御するものは全てスタイルシートという機構に移した。 もっとも、見栄えを制御するHTML要素も相当普及しているので完全に廃止する ことは困難であるから、HTML4で完全に廃止とはせず、少し残したものも 用意した。2006年現在最新であるHTML 4.01には以下の3つのバージョンがある。
もっとも厳格な規格で文書の構造を示す要素や属性を全く含まない。 本講ではこれの使用を前提とする。HTML文書の先頭に以下を記述すること で宣言とする。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
4.01 Strictに加え、既に広まってしまった非推奨の要素・属性を 含めたもの。以下の記述で宣言とする。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
4.01 Transitional に加えフレーム使用のためのものを含めたもの。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
現在主流となっているのがHTML5で2014年に勧告された。 文法的構造的に整理されたHTML4に加えて、文脈指定、Webストレージ、 マルチメディア対応、グラフィクス描画、 カメラやGPSなどの物理デバイスへのアクセスなどがサポートされている。
HTML5に則って書かれる文書は以下のDOCTYPE宣言で始まる。
<!DOCTYPE html>