Браузер

Оригинальное название: browser

Коротко

Программа, которая по адресу загружает страницу с сервера, собирает из HTML, CSS и JavaScript изображение на экране и выполняет действия пользователя на сайте.

Что такое «Браузер»

За одно нажатие Enter в адресной строке браузер проделывает длинную цепочку работы. Он находит IP-адрес сервера через DNS, устанавливает защищённое соединение, отправляет HTTP-запрос и получает HTML. Затем разбирает разметку в дерево DOM, подгружает стили, картинки и скрипты, вычисляет, где находится каждый элемент, рисует пиксели и выводит их на экран. Пока страница открыта, браузер выполняет скрипты, отвечает на клики и прокрутку, хранит cookie и данные сайтов.

Внутри браузер состоит из нескольких частей: интерфейс с вкладками и адресной строкой, сетевой модуль, хранилище, браузерный движок, который отвечает за разбор и отрисовку, и движок JavaScript. Современные браузеры запускают вкладки в отдельных изолированных процессах, чтобы зависание или атака на одном сайте не затронули остальные.

Пример: как браузер представляется сайту

GET /catalog/ HTTP/2
Host: example.ru
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
  AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
Accept-Language: ru-RU,ru;q=0.9

Строка User-Agent исторически перегружена: Chrome в ней одновременно упоминает Mozilla, WebKit, Gecko и Safari ради совместимости со старыми сайтами. Поэтому определять браузер по этой строке ненадёжно — лучше проверять поддержку конкретной возможности.

Почему разные браузеры показывают сайт по-разному

Браузеров много, а движков всего три основных, но даже на одном движке версии отличаются. Новое свойство CSS может уже работать в Chrome и ещё не работать в Safari на старом iPhone. Отличаются и встроенные стили по умолчанию, шрифты системы, поведение форм. Задача вёрстки — добиться, чтобы сайт корректно работал во всех целевых браузерах; это называется кроссбраузерностью.

Инструменты разработчика

В каждом современном браузере есть встроенные инструменты разработчика (клавиша F12). В них видно дерево элементов и применённые стили, сетевые запросы и время их загрузки, ошибки JavaScript в консоли, хранилище cookie. Это первый инструмент, когда заказчик пишет «у меня на сайте что-то не так»: по вкладкам Console и Network часто сразу понятно, что именно сломалось.

Обновлено:

Все термины раздела «Frontend»

Что будем искать? Например,Продвижение