HTML
Rozszerzenia | .html, .htm |
---|---|
Typ MIME | text/html |
Opracowany przez | Konsorcjum World Wide Web & WHATWG |
Początkowa wersja | 1993 |
Typ formatu | Język znaczników |
Oparte na | Standardowy uogólniony język znaczników |
Pochodzenie | XHTML |
Standard |
ISO / IEC 15445 W3C HTML 4.01 W3C HTML5 |
ISO | 15445 |
Specyfikacja | Otwórz format |
Strony internetowe |
www.w3.org/html html.spec.whatwg.org/multipage w3c.github.io/html |
HyperText Markup Language , powszechnie skracane HTML lub w jego najnowszym HTML5 to język znaczników przeznaczony do reprezentowania stron internetowych .
Ten język umożliwia:
Jest często używany w połączeniu z językiem programowania JavaScript i kaskadowymi arkuszami stylów (CSS). HTML jest inspirowany przez Standard Generalized Markup Language (SGML). To jest format otwarty .
English Hypertext Markup Language dosłownie tłumaczy w języku Hypertext Markup . Zwykle używany jest akronim HTML, czasami nawet powtarzając słowo „język” jak w „języku HTML”. Hypertext jest czasami pisany jako HyperText, aby oznaczyć T w akronimie HTML.
Czasami niedoinformowany publicznie HTM zamiast HTML, HTM to nazwa pliku rozszerzenia skrócona do trzech liter, co jest ograniczeniem występującym w starszych systemach operacyjnych firmy Microsoft .
W pierwszej połowie lat dziewięćdziesiątych , przed pojawieniem się technologii internetowych, takich jak JavaScript (js), kaskadowe arkusze stylów (css) i obiektowy model dokumentu (Dom), ewolucja HTML dyktowała ewolucję sieci WWW . Od 1997 roku i HTML 4 ewolucja HTML znacznie zwolniła; 10 lat później HTML 4 jest nadal używany na stronach internetowych . W 2008 roku specyfikacja HTML5 jest w fazie badań i staje się powszechnie stosowana w drugiej połowie 2010 roku .
HTML jest jednym z trzech wynalazków, które stworzyły podstawę World Wide Web , wraz z protokołem Hypertext Transfer Protocol (HTTP) i adresami internetowymi ( URL ). HTML został wymyślony, aby umożliwić pisanie dokumentów hipertekstowych łączących różne zasoby internetowe za pomocą hiperłączy . Dziś dokumenty te nazywają się „ stroną internetową ”. Wsierpień 1991, kiedy Tim Berners-Lee publicznie reklamuje sieć w Usenecie , cytuje tylko SGML , ale podaje adres URL dokumentu z sufiksem.html.
W swojej książce Weaving the web , Tim Berners-Lee opisuje decyzję oparcia HTML na SGML jako zarówno „dyplomatyczną”, jak i techniczną: technicznie uznał SGML za zbyt skomplikowany, ale chciał przyciągnąć społeczność hipertekstową , która postrzegała SGML jako język najbardziej obiecujący dla standaryzacji formatu dokumentów hipertekstowych. Ponadto SGML był już używany przez swojego pracodawcę, Europejską Organizację Badań Jądrowych (CERN). ;
Pierwsze elementy HTML to:
Opis HTML jest wtedy dość nieformalny i definiowany głównie przez obsługę różnych współczesnych przeglądarek internetowych . Dan Connolly pomógł uczynić HTML prawdziwą aplikacją SGML .
Stan HTML odpowiada wtedy temu, co moglibyśmy nazwać HTML 1.0 . Jednak nie ma specyfikacji tej nazwy, w szczególności dlatego, że język był w tym czasie w pełnej ewolucji. Trwały jednak wysiłki normalizacyjne . Od końca 1993 roku termin HTML + był używany w odniesieniu do przyszłej wersji HTML. Pomimo zainicjowanych w ten sposób wysiłków standaryzacyjnych i do końca lat 90. HTML był definiowany głównie przez implementacje przeglądarek.
Dzięki przeglądarce NCSA Mosaic HTML zna dwa główne wynalazki:
Wraz z pojawieniem się Netscape Navigator 0.913 października 1994dodano obsługę wielu elementów prezentacji: atrybuty tekstu, mruganie, centrowanie itp.
Programowanie HTML przebiega wtedy dwiema rozbieżnymi ścieżkami:
Projektanci przestrzegają zasad SGML, aby pozostawić prezentację językowi stylów. W tym przypadku Cascading Style Sheets (CSS) są przeznaczone dla HTML. Tylko obsługa tabel jest szybko integrowana z przeglądarkami, w szczególności dlatego, że pozwala na bardzo wyraźne ulepszenie prezentacji. Oprócz mnożenia elementów prezentacji, oprogramowanie produkujące i wykorzystujące HTML często postrzegało dokumenty jako serię poleceń formatujących, a nie jako znacznik reprezentujący strukturę drzewa , znaną dziś jako Document Object Model (DOM). Brak struktury HTML, który został wówczas zaimplementowany, jest czasami określany jako „ tag soup ”, po angielsku : tag soup .
W Marzec 1995, nowo założone konsorcjum World Wide Web Consortium (W3C) oferuje wynik swoich badań nad HTML+: wersję roboczą HTML 3.0 . Obejmuje obsługę tabel, rysunków i wyrażeń matematycznych. Ta wersja robocza wygasa w dniu28 września 1995bez bezpośredniej obserwacji. Pod koniec 1995 roku sfinalizowano RFC 1866 opisujący HTML 2.0 . Redaktorem głównym jest Dan Connolly . Ten dokument opisuje HTML taki, jaki istniał wcześniejCzerwiec 1994, więc bez wielu dodatków Netscape Navigatora .
14 stycznia 1997 r., W3C publikuje specyfikację HTML 3.2 . Opisuje obecną praktykę zaobserwowaną na początku 1996 roku , a więc z częścią dodatków Netscape Navigator i Internet Explorer . Jego najważniejszymi nowościami są standaryzacja stołów oraz wiele elementów prezentacji. HTML 3.2 wąsko wyprzedza HTML 4.0 i zawiera elementy do obsługi stylów i skryptów.
18 grudnia 1997 r., W3C publikuje specyfikację HTML 4.0, która standaryzuje wiele rozszerzeń obsługujących style i skrypty, ramki i obiekty (uogólnione włączanie treści). HTML 4.0 wprowadza również różne ulepszenia w zakresie dostępności treści, głównie możliwość wyraźniejszego oddzielenia struktury i prezentacji dokumentu lub wsparcie dodatkowych informacji o niektórych złożonych treściach, takich jak formularze, tabele lub akronimy. HTML 4.0 wprowadza trzy odmiany formatu, mające na celu promowanie ewolucji w kierunku bardziej znaczących znaczników, przy jednoczesnym uwzględnieniu tymczasowych ograniczeń narzędzi produkcyjnych:
Odmiany te są kontynuowane bez znaczących modyfikacji w HTML 4.01 oraz w formacie przejścia XHTML 1.0 z HTML. Najnowsza specyfikacja HTML to wersja 4.01 z dnia24 grudnia 1999 r.. Wprowadza tylko drobne poprawki do wersji 4.0 .
Rozwój HTML jako aplikacji Standard Generalized Markup Language (SGML) został oficjalnie porzucony na rzecz XHTML , aplikacji Extensible Markup Language (XML). Jednak w 2004 r. wydawcy przeglądarek internetowych utworzyli internetową grupę roboczą ds. technologii aplikacji hipertekstowych (WHATWG) w celu w szczególności ponownego opracowania formatu HTML i zaspokojenia nowych potrzeb w oparciu o technologię uznaną za łatwiejszą do wdrożenia. XHTML 2.0 jest zaprojektowany. Jest to część kontekstu bardziej ogólnego wyzwania dla trybu działania W3C, uznanego za zbyt zamknięty przez niektórych programistów i projektantów stron internetowych.
W Marzec 2007, czerpiąc z niechęci części branży i projektantów treści internetowych do XHTML 2.0 , W3C ponownie rozpoczyna rozwój HTML i tworzy nową grupę roboczą nadzorowaną przez Chrisa Wilsona ( Microsoft ) i początkowo Dana Connolly ( W3C ) , teraz Michaela Smitha ( W3C ). Obejmują one:
Praca WHATWG została formalnie przyjęta w maj 2007jako punkt wyjścia dla nowej specyfikacji HTML5 . Ten dokument został opublikowany jako wersja robocza na22 stycznia 2008. Wśród zasad projektowania wymienionych przez grupę roboczą są w szczególności:
Grupa Zadaniowa ds. Dostępności jest tworzona przez W3C wlistopad 2009w celu rozwiązania problemów kompatybilności nowego formatu ze standardami dostępności , związanych w szczególności z wdrożeniem ARIA , alternatywami tekstowymi i nowymi elementami canvasoraz video.
Rozwój XHTML 2.0 jest początkowo kontynuowany równolegle, w odpowiedzi na potrzeby innych obszarów sieci, takich jak urządzenia mobilne, aplikacje korporacyjne i aplikacje serwerowe. Następnie wlipiec 2009, W3C postanawia nie odnawiać XHTML 2 Working Group pod koniec 2009 roku.
Wraz z porzuceniem XHTML 2 wersja XHTML 1.1 pozostaje zatem wersją ustandaryzowaną. HTML5 będzie zgodny z XHTML i XML, a zatem będzie zezwalał na dokumenty XHTML5 . Jednak jest prawdopodobne, że W3C zmierza w kierunku całkowitego porzucenia XHTML 1.1 , ponieważ implementacja XML w HTML5 sprawia, że definicja dokumentu typu XHTML y staje się niepotrzebna . y (gdzie yy to numery wersji).
W styczeń 2011, różnice zdań między Ianem Hicksonem (inżynier w Google), który pisze specyfikację HTML5, a członkami grupy roboczej W3C kierującej WHATWG do stworzenia HTML Living Standard (dosłownie: standard życia HTML), specyfikacji HTML przeznaczonej do stale się rozwijać, aby dotrzymać kroku szybkiemu rozwojowi nowych funkcjonalności przez twórców przeglądarek (w przeciwieństwie do wersji numerowanych, a więc „stałych”).
HTML Living standard ma na celu m.in. HTML5 i rozwijać go w sposób ciągły. W szczególności w wersji22 sierpnia 2012, dokument referencyjny wyjaśnia, że W3C HTML5, opublikowany w 22 czerwca 2012, jest oparty na wersji HTML Living Standard , ale HTML Living Standard nie kończy się na tej wersji i wciąż ewoluuje. Rozwija w szczególności różnice między wersją W3C (HTML5) a wersją HTML Living Standard (na przykład nowe błędy nie są brane pod uwagę w HTML5, różnice składniowe są wymienione, a nowe tagi utworzone przez HTML Living Standard nie są zawarte w HTML5).
HTML to język opisu formatu dokumentu, który przybiera postać języka znaczników, którego składnia pochodzi ze standardowego uogólnionego języka znaczników (SGML).
Do wersji 4.01 włącznie, HTML jest formalnie opisywany jako aplikacja standardowego języka znaczników uogólnionych (SGML). Jednak kolejne specyfikacje na różne sposoby przyznają, że programy użytkownika nie są w praktyce zgodne z parserami SGML . Przeglądarki internetowe nie były w stanie rozszyfrować wszystkich odmian dozwolonych przez składnię SGML ; z drugiej strony generalnie są w stanie automatycznie wyłapać wiele błędów składniowych, zgodnie z pierwszą częścią „Prawa Postela ”: „Bądź liberalny w tym, co akceptujesz, i konserwatywny w tym, co wysyłasz” ( RFC 791). W rzeczywistości twórcy stron internetowych i przeglądarek internetowych zawsze korzystali z dużej swobody w zakresie reguł składniowych SGML . Wreszcie definicja typu dokumentu HTML (DTD), formalny opis techniczny HTML, została napisana przez Dana Connolly'ego dopiero kilka lat po wprowadzeniu HTML.
Pomimo swobód przyjętych w standardzie, stosowana jest terminologia specyficzna dla SGML : dokument, element, atrybut, wartość, znacznik, encja, ważność, aplikacja itp. Dzięki DTD możliwe jest automatyczne sprawdzenie poprawności dokumentu HTML za pomocą parsera SGML .
Pierwotnie HTML został zaprojektowany do prostego oznaczania (lub oznaczania) tekstu, w tym dodawania do niego hiperłączy. Użyliśmy minimum tagów, jak w następującym dokumencie 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.Ten przykład zawiera tekst, pięć tagów i odniesienie do encji:
Prawidłowy dokument HTML to dokument, który respektuje składnię SGML , używa tylko standardowych elementów i atrybutów oraz respektuje zagnieżdżenie elementów opisanych przez standard. W poprzednim przykładzie brakuje tylko jednej deklaracji typu dokumentu, aby był to prawidłowy dokument HTML 2.0.
Prawidłowy dokument nie jest jednak wystarczający do zapewnienia zgodności z docelową specyfikacją HTML. Rzeczywiście, poza wymogiem ważności, dokument zgodny podlega innym ograniczeniom, które nie są wyrażone przez definicję typu dokumentu (DTD), ale które są wyrażone przez samą specyfikację. Dotyczy to w szczególności typu zawartości niektórych atrybutów, takich jak atrybut datetime : aby był zgodny z HTML 4.01 , sam musi być zgodny z podzbiorem normy ISO 8601 . Parser ściśle SGML, taki jak walidator HTML W3C, nie może zatem zagwarantować zgodności dokumentu HTML.
We wczesnych latach dokumenty HTML były często postrzegane jako płaskie struktury, a znaczniki jako polecenia stylu. Tak więc tag <p>został uznany za łamanie wiersza, a tag </p>został zignorowany. Albo kiedy pojawił się JavaScript 1.0 , dawał dostęp tylko do linków do dokumentów i formularzy poprzez tabele document.formsi document.links.
Wraz z wprowadzeniem Cascading Style Sheets i Document Object Model , konieczne stało się rozważenie, że dokumenty HTML mają prawdziwą strukturę drzewa , z elementem głównym zawierającym wszystkie inne elementy. Tagi otwierające i zamykające tych elementów pozostają opcjonalne. Jednak dzisiaj istnieje tendencja do zaznaczania każdego elementu i wskazywania DTD. Z wyjątkiem elementu głównego, każdy element ma dokładnie jeden bezpośredni element nadrzędny; to „drzewo dokumentów” jest używane w szczególności przez wyprowadzoną z niego strukturę formatowania do stosowania kaskadowych arkuszy stylów, w których każdy element może mieć własne tło, obramowanie i margines.
Strukturę i kod stron internetowych można również sprawdzić, dodając view-source:przed adresem url strony. Dla bieżącej strony, która dałaby . view-source:https://fr.m.wikipedia.org/wiki/Hypertext_Markup_Language
Źródło HTML | Szablon dokumentu |
---|---|
<!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 głowa tytuł tekst ciało tekst w tekst tekst p tekst |
Wersja 4 HTML opisuje 91 elementów . Zgodnie ze specyfikacją HTML 4 funkcjonalności zaimplementowane przez HTML można podzielić w następujący sposób:
Ogólna struktura dokumentu HTML Na najwyższym poziomie dokument HTML jest rozdzielany między nagłówek i treść. Nagłówek zawiera informacje o dokumencie, w tym jego tytuł i ewentualnie metadane . Ciało zawiera to, co jest wyświetlane. Informacje o języku Możliwe jest wskazanie języka dowolnej części dokumentu i zarządzanie mieszanką tekstu pisanego od lewej do prawej z tekstem od prawej do lewej . Tagowanie semantyczne HTML pomaga odróżnić określone treści, takie jak cytaty z prac zewnętrznych, fragmenty kodu komputerowego, podkreślone fragmenty i skróty. Niektóre z tych elementów, początkowo zaprojektowane do obsługi dokumentacji technicznej, są bardzo rzadko używane (np. rozróżnienie między zmiennymi a przykładowymi elementami wartości w kodzie komputerowym, a nawet wystąpieniem terminu zdefiniowanego w kontekście). Listy HTML rozróżnia listy nieuporządkowane i uporządkowane , w zależności od tego, czy formalna kolejność treści w kodzie jest informacją samą w sobie. W definicji wyszczególnia również istnieją, ale ich zakres jest dokładnie określona. Stoły Ta funkcja jest formalnie używana do prezentacji danych tabelarycznych, ale była wykorzystywana głównie ze względu na możliwości układu, zanim kaskadowe arkusze stylów (CSS) osiągnęły wystarczający stopień dojrzałości. Hiperłącza Podstawowa funkcjonalność HTML. Włączenie obrazów, apletów i różnych przedmiotów Pierwotnie HTML zezwalał tylko na hiperłącza do mediów zewnętrznych. Wynalezienie specjalistycznych elementów do multimediów pozwoliło na automatyczne włączanie obrazu, muzyki, wideo itp. na stronach internetowych. Grupowanie elementów Nie nadając znaczenia treściom, które oznaczają, te ogólne elementy umożliwiają zastosowanie stylów prezentacji, wykonanie przetwarzania za pomocą skryptów lub dowolną inną operację wymagającą wyodrębnienia części treści. Styl prezentacji Każdy element, a nawet cały dokument, może mieć zastosowane style. Style są zdefiniowane w dokumencie lub pochodzą z zewnętrznych arkuszy stylów kaskadowych (CSS). Oznaczenie prezentacji tekstowej Opracowany przed uogólnieniem CSS, aby szybko zapewnić funkcjonalność grafikom. Większość użycia jest teraz oficjalnie odradzana. Ramki Znana również jako ramki , często krytykowana funkcja, która umożliwia wyświetlanie wielu dokumentów HTML w jednym oknie. Formularz do interaktywnego wstawiania danych Elementy formularza umożliwiają odwiedzającym wprowadzanie tekstu i plików na stronach internetowych. Skrypty Służy do kojarzenia fragmentów programu z działaniami użytkownika na dokumencie. Używane języki to na ogół JavaScript i VBScript .Atrybuty pozwalają określić właściwości elementów HTML. W wersji HTML 4 jest 188 atrybutów .
Niektóre atrybuty dotyczą prawie wszystkich elementów:
Inne atrybuty są unikalne dla pojedynczego elementu lub podobnych elementów. Na przykład :
Większość atrybutów jest opcjonalna. Jednak niektóre elementy mają obowiązkowe atrybuty:
Typ zawartości atrybutów HTML jest częściowo poza zakresem tego standardu, a jego walidacja podlega standardom stron trzecich, takim jak identyfikatory URI , typy zawartości lub kody języków .
Wreszcie niektóre atrybuty są typu Boolean. Są to jedyne atrybuty, których składnia może być poprawnie niejawna w HTML: atrybut selectedkontrolki formularza może być w ten sposób skrócony do postaci selectedzastępującej pełny formularz selected="selected". Ta konkretna forma jest jednym z punktów odróżniających HTML od składni „dobrze sformułowanych” dokumentów w sensie XML.
Strony internetowe można pisać we wszystkich rodzajach języków i można użyć bardzo wielu znaków , co wymaga albo jednego zestawu znaków na typ pisania, albo jednego uniwersalnego zestawu znaków. Kiedy pojawił się HTML, uniwersalny zestaw znaków Unicode nie został jeszcze wynaleziony, a wiele zestawów znaków było używanych obok siebie, w tym ISO-8859-1 dla alfabetu łacińskiego i zachodnioeuropejskiego , Shift-JIS dla japońskiego , KOI8-R dla alfabetu Cyrylica . Obecnie najbardziej rozpowszechnione jest kodowanie UTF-8 do Unicode .
HTTP protokół komunikacyjny przekazuje nazwę zestawu znaków. Nagłówek HTML może zawierać przypomnienie o tym zestawie znaków, które powinny być takie same, chyba że wystąpił błąd ustawienia. Wreszcie, po nieprawidłowym ustawieniu, faktycznie używany zestaw znaków może nadal różnić się od zestawu ogłoszonego. Te nieprawidłowe ustawienia zazwyczaj powodują błędy wyświetlania tekstu, zwłaszcza w przypadku znaków nieobjętych standardem ASCII .
Technologia wydechowaPrzed uogólnieniem Unicode zdefiniowano encje reprezentujące niektóre znaki spoza ASCII . Zaczęło się od znaków ISO 8859-1 w standardzie HTML 2.0 . W przypadku znaków diakrytycznych encje te stosują się do prostej zasady: litera, po której następuje skrót powiązanego znaku diakrytycznego.
postać | odniesienie do jednostki | Uwaga |
---|---|---|
W | Á | acutedla ostrego akcentu |
W | Â | circdla akcentu okalającego |
W | À | gravedla akcentu grobowego |
W | Å | ringdla rundy głównej |
W | Ã | tildedla tyldy |
W | Ä | umldla umlaut |
VS | Ç | cedildla cedilla |
Ø | Ø | slashdla ukośnika |
Zgodnie z sformalizowanym przez W3C , HTML został zaprojektowany w celu optymalizacji współdziałania dokumentów. HTML nie jest używany do opisywania ostatecznego renderowania stron internetowych . W szczególności, w przeciwieństwie do DTP , HTML nie jest przeznaczony do określania wyglądu dokumentów. Zamiast tego HTML ma na celu zrozumienie różnych części tekstu: tytułu, listy, ważnego fragmentu, cytatu itp. HTML został opracowany z intuicją, że do przeglądania sieci będą używane wszelkiego rodzaju urządzenia: komputery osobiste z ekranami o różnej rozdzielczości i głębi kolorów, telefony komórkowe, komputerowe urządzenia do syntezy i rozpoznawania mowy, komputery o małej i dużej przepustowości itd. na.
Ponieważ HTML nie skupia się na ostatecznym renderowaniu dokumentu, ten sam dokument HTML można wyświetlać przy użyciu szerokiej gamy sprzętu i oprogramowania. Na poziomie sprzętowym dokument może w szczególności być wyświetlany na ekranie komputera w trybie graficznym lub terminalu komputerowym w trybie tekstowym , może być drukowany lub odczytywany za pomocą syntezy głosu . Na poziomie oprogramowania HTML też nie robi założeń, a kilka typów oprogramowania czyta HTML: przeglądarka internetowa , robot indeksujący , różne skrypty (w Perlu , PHP ) do automatycznego przetwarzania.
Wysoki stopień interoperacyjności obniża koszty dostawców treści, ponieważ pojedyncza wersja każdego dokumentu zaspokaja różnorodne potrzeby. Dla użytkownika sieci interoperacyjność umożliwia istnienie wielu konkurencyjnych przeglądarek, z których wszystkie mogą przeglądać całą sieć.
Każda wersja HTML starała się odzwierciedlać największy konsensus wśród graczy branżowych, tak aby inwestycje dokonywane przez dostawców treści nie poszły na marne, a ich dokumenty szybko stały się nieczytelne. Oddzielenie treści i formy nie zawsze było przestrzegane w trakcie rozwoju języka, o czym świadczy chociażby znacznik stylu tekstu, który pozwala w szczególności wskazać żądaną czcionkę do wyświetlenia, jej rozmiar czy kolor.