TGStat
TGStat
Qidiruv uchun matnni kiriting
Ilg‘or kanal qidiruvi
  • flag Uzbek
    Sayt tili
    flag Russian flag English flag Uzbek
  • Saytga kirish
  • Katalog
    Kanal va guruhlar katalogi Hududiy to‘plamlar Tematik to‘plamlar Платные каналы Kanallar qidiruvi
    Kanal/guruh qo‘shish
  • Reytinglar
    Kanallar reytingi Guruhlar reytingi Postlar reytingi
    Brendlar va shaxslar reytingi
  • Analitika
  • Postlarda qidiruv
  • Telegram'ni kuzatish
  • Targ‘ibot
    Yandex Business orqali reklama TGStat Agency orqali kanallarda reklama TGStat.ru saytida reklama
@alexnozer_dev

28 Sep, 18:04

Telegram'da ochish Ulashish Shikoyat qilish

You don’t know HTML: SGML, HTML, XML, XHTML

За свою историю язык разметки гипертекста HTML был как производным продуктом на базе другого языка, вобрав в себя его идеи и синтаксис, так и прародителем новых языков. В итоге HTML стал независимым и самостоятельным языком.

HTML изначально создан как приложение SGML. Тим Бернерс-Ли при проектировании нового языка для будущего Интернета не стал изобретать велосипед, а взял за основу уже существующий и стандартизированный язык SGML и его диалект CERN SGML.

Сам SGML — это метаязык для создания других языков разметки компьютерного текста, независимого от устройства. SGML определяет синтаксис и правила, а по ним описывается конкретный набор элементов, атрибутов и правил их применения.

Суть SGML в том, чтобы описывать типы документов (DTD), в которых определён список доступных элементов, атрибутов и специальных сущностей, обязательность или необязательность открывающих и закрывающих тэгов, правила вложенности.

Первые версии HTML были конкретным типом документа SGML. Это отражалось в длинной конструкции DOCTYPE с ссылкой на DTD, где описываются все доступные HTML-элементы, правила вложенности и атрибуты.



Такая конструкция была на страницах до HTML5 и простого . Она означала «это размеченный с помощью SGML документ типа HTML, определение которого находится по такому-то адресу».

SGML, с одной стороны, был достаточно простым языком в плане синтаксиса. С другой стороны, он был крайне сложным по части парсинга. Из-за этого браузерам того времени было сложно обрабатывать документы на SGML-языках.

В ответ на сложность SGML появился XML. Цель та же: универсальный метаязык для описания языков разметки. Разница в более строгом синтаксисе, упрощённых правилах парсинга и удалении сложных и редко используемых возможностей SGML.

XML стал новым стандартом, на его основе были созданы различные языки разметки. Возникла идея «переписать» HTML с SGML на XML. Так появился стандарт XHTML, первая версия которого — перенос HTML 4 с SGML на строгий синтаксис XML.

XHTML 1.0 не добавлял ничего нового, а делал HTML 4 строже. Пропущенный тэг, недопустимое значение атрибута, отсутсвие кавычек или неверная вложенность делают весь документ невалидным, прекращая парсинг и отображая ошибку.

За XHTML 1.0 последовала версия 1.1 с идеей разбивки на модули. Затем вышла версия 2.0 с полным переосмыслением идей HTML. XHTML 2.0 был новым языком для веба, который должен был заменить существовавший на то время HTML 4.

XHTML 2.0 не был совместим ни с HTML 4, ни с XHTML 1.0/1.1, которые поддерживали браузеры. Такое радикальное изменение ставило под угрозу совместимость веба, а потенциальная польза и затраты усилий на внедрение не стоили того.

От XHTML 2.0 отказались и было принято решение развивать уже существующий HTML 4 менее радикально. От строго XML синтаксиса тоже отказались в пользу более толерантного к ошибкам, похожего на SGML. Итогом стал HTML 5.

Для HTML 5 был разработан собственный парсер, который проще, чем у SGML, но не такой строгий, как у XML. С тех пор HTML стал отдельным самостоятельным языком, который не совместим ни с SGML, ни с XML, но впитал части от обоих.

Сегодня HTML развивается как живой стандарт без номера версий (больше нет никакого HTML 5) и сохраняет толерантный к ошибкам парсер. Даже самая невалидная разметка будет как-то разобрана, ляжет в основу DOM и отобразится в браузере.

#ydkhtml

467 0 5 12
Katalog
Kanal va guruhlar katalogi Kanallar to‘plamlari Kanallar qidiruvi Kanal/guruh qo‘shish
Reytinglar
Telegram-kanallar reytingi Telegram-guruhlar reytingi Postlar reytingi Brendlar va shaxslar reytingi
API
Statistika API'si Postlar qidiruvi API'si API Callback
Kanallarimiz
@TGStat @TGStat_Chat @telepulse @TGStatAPI
O‘qish
Академия TGStat Telegram tadqiqoti 2019 Telegram tadqiqoti 2021 Telegram tadqiqoti 2023
Kontaktlar
Справочный центр Qo‘llab-quvvatlash Email Vakansiyalar
Har xil narsalar
Foydalanuvchi shartnomasi Maxfiylik siyosati Ommaviy oferta
Botlarimiz
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot