HTML

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj
HTML (HyperText Markup Language)
Ikona HTML (HyperText Markup Language)
Ikona
Rozszerzenia pliku .html, .htm
Typ MIME text/html
Producent (nie istnieje) W3C lub producenci przeglądarek
Ostatnia wersja HTML 5
Typ tekstowy, język znaczników

HTML (ang. HyperText Markup Language) – hipertekstowy język znaczników, wykorzystywany do tworzenia dokumentów hipertekstowych.

Opis wstępny[edytuj]

HTML pozwala opisać strukturę informacji zawartych wewnątrz strony internetowej, nadając znaczenie poszczególnym fragmentom tekstu – formując hiperłącza, akapity, nagłówki, listy – oraz osadza w tekście dokumentu obiekty plikowe np. multimedia bądź elementy baz danych np. interaktywne formularze danych.

HTML umożliwia określenie wyglądu dokumentu w przeglądarce internetowej. Do szczegółowego opisu formatowania akapitów, nagłówków, użytych czcionek i kolorów, zalecane jest wykorzystywanie kaskadowych arkuszy stylów.

Historia[edytuj]

Początki[edytuj]

W 1980 fizyk Tim Berners-Lee, pracujący dla ośrodka naukowo-badawczego CERN, stworzył prototyp hipertekstowego systemu informacyjnego – ENQUIRE. System wykorzystywano do organizowania i udostępniania dokumentów związanych z badaniami naukowymi. Rewolucyjność pomysłu polegała na tym, że użytkownik, posługując się odnośnikami, mógł z jednej lokalizacji przeglądać dokumenty fizycznie znajdujące się w innych miejscach na świecie[1].

World Wide Web

Struktura stron WWW

HTML, XHTML, XML, XSL


Generowanie dynamicznych stron WWW

Active Server Pages, ASP.NET, JavaServer Pages, PHP


Po stronie użytkownika

kaskadowe arkusze stylów, JavaScript, AJAX, kolory w Internecie


Przesyłanie danych

Hypertext Transfer Protocol, HTTPS, HTTP referer, serwer WWW, VoiceXML, XMLHttpRequest


Pojęcia

web design, architektura informacji, użyteczność, dostępność

W 1989 Berners-Lee i inżynier oprogramowania CERN Robert Cailliau przedstawili równolegle dwie propozycje hipertekstowych systemów informacyjnych opartych na sieci Internet. Oba projekty cechowała podobna funkcjonalność. Rok później opracowali wspólną propozycję zaakceptowaną przez CERN – projekt WorldWideWeb (W3)[2].

Pierwsza specyfikacja[edytuj]

Pierwsza, publicznie dostępna, specyfikacja języka HTML, nazwana HTML Tags (pol. Znaczniki HTML), została zamieszczona w Internecie przez Bernersa-Lee w 1991[3][4]. Zawiera 22 znaczniki, tworzące początkowy, prosty szkielet HTML-a. Trzynaście z tych elementów istnieje do tej pory w specyfikacji HTML 4[5].

HTML został napisany w oparciu o język SGML, jednak nie posiadał formalnej definicji w SGML-u. Sytuacja zmieniła się w połowie 1993, kiedy organizacja IETF opublikowała pierwszą propozycję specyfikacji języka HTML autorstwa Bernersa-Lee i Dana ConnollyHypertext Markup Language (HTML) Internet-Draft (pol. szkic) – zawierającą opis gramatyki w postaci SGML Document Type Definition (pol. definicja typu dokumentu)[6]. Opierając się na tym dokumencie twórcy przeglądarek eksperymentowali z HTML-em modyfikując atrybuty istniejących już znaczników oraz dodając całkowicie nowe. Szkic wygasł sześć miesięcy później, ale był znany z obsługiwania specyficznych dla przeglądarki NCSA Mosaic znaczników, służących do wstawiania obrazków. Fakt ten odzwierciedlał filozofię IETF bazowania przyszłych standardów na prototypach, które odniosły sukces[7]. Podobnie Dave Raggett pod koniec 1993 w swoim szkicu HTML+ (Hypertext Markup Format) sugerował standaryzację już zaimplementowanych znaczników np. związanych z tworzeniem tabel i formularzy[8].

Po wygaśnięciu szkiców HTML i HTML+ na początku 1994 organizacja IETF wydzieliła HTML Working Group, która w 1995 stworzyła HTML 2.0 – pierwszą oficjalną specyfikację języka HTML, traktowaną jako standard i podstawę przyszłych implementacji kolejnych wersji HTML-a. Specyfikacja HTML 2.0, opublikowana w 1996 jako Request for Comments, zawierała pomysły zarówno ze szkicu HTML jak i HTML+. "HTML 1.0" nigdy nie istniał. Oznaczenie 2.0 zostało nadane w celu odróżnienia nowej specyfikacji od wcześniejszych szkiców[9].

Dalszy rozwój HTML-a pod pieczą IETF przeciągał się ze względu na konflikt interesów. Od 1996 specyfikacje HTML rozwijane były z udziałem komercyjnych producentów oprogramowania przez organizację World Wide Web Consortium (W3C). W 2000 HTML stał się międzynarodowym standardem (ISO/IEC 15445:2000). Ostatnia specyfikacja języka HTML to opublikowana w 1999 przez W3C – HTML 4.01. Jej błędy zostały poprawione przez erratę opublikowaną w 2001[10].

Historia wersji[edytuj]

Wersje HTML-a[edytuj]

lipiec, 1993: Hypertext Markup Language, szkic opublikowany przez IETF[11].

listopad, 1995: opublikowany przez IETF jako Request for Comments:

Ostatecznie, wszystkie elementy zostały uznane za przestarzałe/historyczne przez RFC 2854 ↓ w czerwcu 2000 r.

Standard HTML 3.0 został przedstawiony IETF przez Dave’a Raggeta i W3C w kwietniu 1995 r. Zawierał znaczną część funkcjonalności HTML+ Raggetta np. obsługa tabel, oblewanie tekstem obiektów, wyświetlanie skomplikowanych wyrażeń matematycznych[12]. Pomimo faktu kompatybilności z HTML 2.0, był zbyt złożony (jak na owe czasy), aby go zaimplementować. Producenci przeglądarek optowali tylko za częścią nowego standardu, ale zaimplementowali inne znaczniki[13]. Z uwagi na brak obsługi ze strony przeglądarek prace nad wersją 3.0 zostały przerwane.

HTML 3.1 nigdy nie został oficjalnie zaproponowany. Światło dzienne ujrzała za to kolejna wersja HTML 3.2 (nazwa kodowa: Wilbur), w której zrezygnowano z wielu rozwiązań zastosowanych w HTML 3.0 na rzecz nowych znaczników i atrybutów wykorzystywanych już przez przeglądarki Netscape i Mosaic[14].

14 stycznia 1997: HTML 3.2, opublikowany jako rekomendacja W3C[15].

IETF także nie miała szansy zatwierdzić HTML 3.2. Pracująca nad tą wersją grupa HTML Working Group została zamknięta we wrześniu 1996 r.[16]. Ostatecznie wersja 3.2 została opublikowana jako pierwsza rekomendacja W3C w 1997 r. Obsługa wyrażeń matematycznych zapoczątkowana w HTML 3.0 po kilku latach doczekała się własnego standardu – MathML .

18 grudnia 1997: HTML 4.0, opublikowany jako rekomendacja W3C. Zaoferowany w trzech typach[17]:

  • Strict, w którym używanie elementów uznanych za przestarzałe jest zabronione.
  • Transitional, w którym używanie elementów uznanych za przestarzałe jest dopuszczalne.
  • Frameset, w którym dopuszczone są głównie elementy związane z ramkami.

24 kwietnia 1998: HTML 4.0 z drobnymi poprawkami został powtórnie opublikowany bez zmiany wersji.

24 grudnia 1999: HTML 4.01, opublikowany jako rekomendacja W3C. Oferuje te same typy, które oferował HTML 4.0[18]. Ostatnia errata została wydana 12 maja 2001 r.[19]

HTML 4.01 oraz ISO/IEC 15445:2000 są najnowszymi i najbardziej aktualnymi wersjami standardu HTML.

15 maja 2000: HTML ISO/IEC 15445:2000 "ISO HTML", opublikowany na bazie HTML 4.01 Strict, jako międzynarodowy standard ISO/IEC[20].

22 stycznia 2008: HTML 5, opublikowany przez W3C jako szkic („Working Draft”)[21].

Wersje XHTML-a[edytuj]

 Osobny artykuł: XHTML.
  • XHTML 1.0, opublikowany 26 stycznia 2000 jako rekomendacja W3C; w późniejszym czasie skorygowany i opublikowany ponownie 1 sierpnia 2002. Oferuje trzy typy z HTML-a 4.0 oraz 4.01. Przystosowany do standardu XML, czego skutkiem są dodatkowe restrykcje[22].
  • XHTML 1.1, opublikowany 31 maja 2001 jako rekomendacja W3C. Bazuje na XHTML 1.0 Strict, zawiera jednak pewne korekty. Może być dostosowywany poprzez użycie modułów opisanych w Modularyzacji XHTML, opublikowanej 10 kwietnia 2001 jako rekomendacja W3C[23].
  • XHTML 2.0 przez dłuższy czas figurujący jako szkic a obecnie całkowicie porzucony. XHTML 2.0 nie był kompatybilny z XHTML 1.x, dlatego też można go było scharakteryzować jako nowy język powstały z inspiracji XHTML-em a nie traktować go jako uaktualnienie XHTML-a 1.x[24].
  • XHTML 5, który jest aktualizacją XHTML-a 1.x, jest zdefiniowany wraz z HTML-em 5 w szkicu HTML 5[25].

Współczesność[edytuj]

Podsumowując, HTML 4.01 uporządkował różne niekompatybilne implementacje tego języka w jedną, spójną specyfikację bazującą formalnie na SGML-u. XHTML 1.0 przeniósł tę specyfikację na nowy grunt – standard XML. Kolejna wersja, XHTML 1.1, korzysta z modularnej natury XML-a, dzieląc specyfikację na wiele segmentów.

XHTML 2.0 w stosunku do 1.0 wnosi wiele radykalnych zmian i zrywa z kompatybilnością wsteczną[26]. Jednak ta droga rozwoju została ostatecznie uznana za nietrafioną i rozwój XHTML 2.0 został zarzucony na rzecz HTML 5, który jest pierwszą wersją, która nie jest zgodna z SGML[27].

Komponenty języka HTML[edytuj]

Język HTML składa się z kilku kluczowych komponentów[28]:

  • znaczników (i ich atrybutów),
  • typów danych,
  • referencji znakowych,
  • odwołań w postaci encji,
  • deklaracji typu dokumentu.

Znaczniki (tagi)[edytuj]

 Osobny artykuł: tag (znacznik).

Atrybuty[edytuj]

Większość atrybutów elementów składa się z par nazwa-wartość, rozdzielonych znakiem "=", zawartych w znaczniku otwierającym elementu, po jego nazwie. Wartość może być zawarta w pojedynczych lub podwójnych cudzysłowach lub bez nich (o ile wartość nie zawiera spacji). W przeciwieństwie do atrybutów w postaci par nazwa-wartość istnieją atrybuty mające wpływ na element poprzez samo ich zawarcie w znaczniku otwierającym[25] (np. ismap atrybut dla znacznika img[29]).

Atrybut id nadaje elementowi unikatowy identyfikator. Może on zostać użyty przez arkusze stylów do sprecyzowania wyglądu tego elementu lub przez skrypty np. do zmiany jego zawartości. Atrybut class służy do sklasyfikowania elementów dla celów prezentacyjnych[30][31].

Encje i referencje znakowe[edytuj]

Począwszy od wersji 4.0, HTML definiuje listę 252 encji, pozwalających na zapisanie określonych znaków za pomocą specjalnych stałych[32].

Typy danych[edytuj]

HTML definiuje kilka typów danych, wprowadzanych m.in. jako wartości elementów lub atrybutów. Są to m.in. skrypty (script data), dane arkuszy stylów (stylesheet data), identyfikatory, nazwy, adresy URI, liczby, jednostki miary długości, języki, deskryptory mediów, kolory, kodowania znaków, data i czas, itp.[33]

Deklaracja typu dokumentu[edytuj]

Aby uaktywnić definicję typu dokumentu (DTD) do celów poprawnej walidacji utworzonej strony, a także w celu uniknięcia działania przeglądarek w trybie quirks, dokument powinien rozpoczynać się deklaracją typu dokumentu (nieformalnie DOCTYPE). DTD, do którego odwołuje się sekcja DOCTYPE, zawiera gramatykę i zasady wykorzystywania znaczników w dokumencie podporządkowanemu określonemu DTD. Większość graficznych przeglądarek korzysta z sekcji DOCTYPE, a także innych dodatkowych informacji, warunkując tryb renderowania danej strony.

Przykład:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

W HTML5:

<!DOCTYPE html>

Powyższa deklaracja odwołuje się do wersji Strict DTD specyfikacji HTML 4.01, która nie posiada znaczników prezentacyjnych, takich jak <font>, wykorzystując w tym celu kaskadowe arkusze stylów oraz znaczniki <span> i <div>. Walidatory kodu odczytują DTD w celu poprawnego sparsowania dokumentu i przeprowadzenia jego walidacji.

Dodatkowo HTML 4.01 obsługuje jeszcze wersje Transitional i Frameset. Wersja Transitional została stworzona do wykorzystywania w potrzebie używania elementów i atrybutów prezentacyjnych, natomiast wersja Frameset obsługuje dokumenty wykorzystujące mechanizm ramek[34].

Kategoryzacja podziałów języka HTML 4[edytuj]

Istnieją dwie kategorie podziału języka HTML 4:

  1. HTML bazowany na języku SGML i HTML bazowany na języku XML (XHTML)[35].
  2. Strict, Transitional i Frameset[36][37][38].

Przypisy[edytuj]

  1. Longer Bio for Tim Berners-Lee, www.w3.org [dostęp 2016-11-11].
  2. TimT. Berners-Lee TimT., The original proposal of the WWW, HTMLized, www.w3.org [dostęp 2016-11-12].
  3. Tags used in HTML, www.w3.org [dostęp 2016-11-12].
  4. TimT. Berner-Lee TimT., www-talk from September to October 1991: Re: status. Re: X11 BROWSER for WWW, lists.w3.org, 1991 [dostęp 2016-11-12].
  5. Index of the HTML 4 Elements, www.w3.org [dostęp 2016-11-12].
  6. Tim BernersT. B. Lee Tim BernersT. B., www-talk from November to December 1991: Re: SGML/HTML docs, X Browser, lists.w3.org, 1991 [dostęp 2016-11-12].
  7. IETF and the RFC Standards Process, www.faqs.org [dostęp 2016-11-12].
  8. HTML+ and HTML, www.w3.org, 1993 [dostęp 2016-11-12].
  9. T.T. Berners-Lee T.T., D.D. Connolly D.D., Hypertext Markup Language - 2.0, RFC 1866, IETF, 1995, DOI10.17487/RFC1866, ISSN 2070-1721, OCLC 943595667 (ang.).
  10. WebPlatform WG Publication Status (PubStatus), www.w3.org [dostęp 2016-11-12].
  11. TimT. Berners-Lee TimT., DanielD. Connolly DanielD., A sample HTML instance, www.w3.org, 1993 [dostęp 2016-11-12].
  12. DaveD. Raggett DaveD., HyperText Markup Language Specification Version 3.0, www.w3.org, 1995 [dostęp 2016-11-12].
  13. Extensions to HTML 3.0, 2006 [dostęp 2016-11-12] [zarchiwizowane z adresu 2006-03-29].
  14. ArnoudA. Engelfriet ArnoudA., Introduction to Wilbur, htmlhelp.com [dostęp 2016-11-12].
  15. DaveD. Raggett DaveD., HTML 3.2 Reference Specification, www.w3.org, 1997 [dostęp 2016-11-12].
  16. Eric W.E. W. Sink Eric W.E. W., HTML Working Group of the IETF (at W3C), www.w3.org [dostęp 2016-11-12].
  17. DaveD. Raggett DaveD., Arnaud LeA. L. Hors Arnaud LeA. L., IanI. Jacobs IanI., HTML 4.0 Specification, www.w3.org, 1997 [dostęp 2016-11-12].
  18. DaveD. Raggett DaveD., Arnauld LeA. L. Hors Arnauld LeA. L., IanI. Jacobs IanI., HTML 4.01 Specification, www.w3.org, 1999 [dostęp 2016-11-12].
  19. HTML 4 Errata, www.w3.org [dostęp 2016-11-12].
  20. ISO/IEC 15445:2000(E) ISO-HTML, 2010 [dostęp 2016-11-12] [zarchiwizowane z adresu 2010-12-21].
  21. IanI. Hickson IanI., DavidD. Hyatt DavidD., HTML 5, www.w3.org, 2008 [dostęp 2016-11-12].
  22. XHTML 1.0: The Extensible HyperText Markup Language (Second Edition), www.w3.org, 2000 [dostęp 2016-11-12].
  23. ShaneS. McCarron ShaneS., MasayasuM. Ishikawa MasayasuM., XHTML™ 1.1 - Module-based XHTML - Second Edition, www.w3.org, 2010 [dostęp 2016-11-12].
  24. JonnyJ. Axelsson JonnyJ., MarkM. Birbeck MarkM., MicahM. Dubinko MicahM., BethB. Epperson BethB., MasayasuM. Ishikawa MasayasuM., ShaneS. McCarron ShaneS., AnnA. Navarro AnnA., StevenS. Pemberton StevenS. i inni, XHTML™ 2.0, www.w3.org, 2010 [dostęp 2016-11-12].
  25. a b HTML 5.2: 1. Introduction, w3c.github.io [dostęp 2016-11-12].
  26. XHTML™ 2.0, www.w3.org [dostęp 2016-11-12].
  27. LachlanL. Hunt LachlanL., HTML5 Reference, dev.w3.org [dostęp 2016-11-12].
  28. SteveS. Faulkner SteveS., ArronA. Eicholz ArronA., TravisT. Leithead TravisT., AlexA. Danilo AlexA. i inni, HTML 5.1: 1. Introduction, www.w3.org, 2016 [dostęp 2016-11-11].
  29. Objects, Images, and Applets in HTML documents, www.w3.org [dostęp 2016-11-12].
  30. The global structure of an HTML document, www.w3.org [dostęp 2016-11-19].
  31. Global attributes - HTML5, www.w3.org [dostęp 2016-11-19].
  32. Character entity references in HTML 4, www.w3.org [dostęp 2016-11-27].
  33. Basic HTML data types, www.w3.org [dostęp 2016-11-30].
  34. HTML 4 Document Type Definition, www.w3.org [dostęp 2016-11-30].
  35. XHTML 1.0: The Extensible HyperText Markup Language (Second Edition), www.w3.org [dostęp 2016-11-30].
  36. HTML 4 Transitional Document Type Definition, www.w3.org [dostęp 2016-11-30].
  37. HTML 4 Frameset Document Type Definition, www.w3.org [dostęp 2016-11-30].
  38. HTML 4 Changes, www.w3.org [dostęp 2016-11-30].

Zobacz też[edytuj]

Linki zewnętrzne[edytuj]