Браузер читает HTML файл байт за байтом. На основе кодировки файла строится поток символов. Этот поток парсится, формируя токены (открывающий и закрывающий тег, текст, комментарий, doctype). Токены преобразуются в узлы (nodes), которые связываются в дерево — Document Object Model (DOM).
Процесс парсинга проходит следующие этапы:
- Чтение байтов: Браузер получает поток байтов.
- Определение кодировки: Определяется кодировка файла (например, UTF-8, Windows-1251). Это может происходить через HTTP-заголовки,
<meta>
теги или определяться автоматически.
- Преобразование в символы: Байты преобразуются в символы в соответствии с определенной кодировкой.
- Токенизация: Поток символов разбивается на токены.
html
- Построение AST (DOM Tree): На основе последовательности токенов строится дерево узлов (DOM). Браузер поддерживает стек открытых тегов; когда встречает закрывающий тег, он закрывает соотв
Браузер читает HTML файл байт за байтом. На основе кодировки файла строится поток символов. Этот поток парсится, формируя токены (открывающий и закрывающий тег, текст, комментарий, doctype). Токены преобразуются в узлы (nodes), которые связываются в дерево — Document Object Model (DOM).
Процесс парсинга проходит следующие этапы:
- Чтение байтов: Браузер получает поток байтов.
- Определение кодировки: Определяется кодировка файла (например, UTF-8, Windows-1251). Это может происходить через HTTP-заголовки,
<meta>
теги или определяться автоматически.
- Преобразование в символы: Байты преобразуются в символы в соответствии с определенной кодировкой.
- Токенизация: Поток символов разбивается на токены.
html
- Построение AST (DOM Tree): На основе последовательности токенов строится дерево узлов (DOM). Браузер поддерживает стек открытых тегов; когда встречает закрывающий тег, он закрывает соотв