Что такое браузер (простыми словами)
Все, кто пользуются Интернетом, используют браузеры. Компьютеры, смартфоны, телевизоры со Smart TV, Android-приставки и прочие гаджеты, приспособленные для работы в Сети, имеющие GSM, Wi-Fi-модули и/или Ethernet-порты, умеют работать с браузерами.
Во все пользовательские операционные системы такие программы установлены из коробки, так как являются критически необходимыми. Что же такое браузер? Давайте разберёмся.
Браузер – это программа для просмотра веб-страниц (сайтов) и подключения к веб-сервисам. С помощью браузера можно использовать все фишки Интернета: посещать социальные сети, работать с хостингами и FTP-серверами, воспроизводить мультимедийные файлы (изображения, видео, аудио), просматривать содержимое документов и взаимодействовать с полезными сервисами, например, обмениваться сообщениями, совершать звонки, запрашивать информацию (и получать ответы), скачивать файлы из личного облака и т.п.
Технически браузер состоит из нескольких компонентов. Самый главный из них – это движок. То есть та часть программы, которая отвечает за преобразование HTML-кода (его отдают сайты) в визуальное содержимое.
В результате, вместо нечитаемой HTML-разметки пользователь видит страницу сайта и может с ней взаимодействовать.
Например, вот так выглядит изображение в коде:
<img src="сайт.ру/каталог/на сервере/файл_с_картинкой.jpg" alt="Описание изображения">
Но вместо этого браузер показывает контент.
В основе работы большинства браузеров лежат несколько движков: Blink, как производная WebKit (на нём работают Chrome/Chromium, Microsoft Edge, Opera, Vivaldi), Quantum, как наследник Gecko (поддерживается Mozilla FireFox) и WebKit (Apple Safari).
Уже ушли в историю: Trident (на нём работали все версии Internet Explorer), Presto (использовался в старых версиях Opera), KHTML (служил прародителем для WebKit, используется до сих пор в некоторых проектах, например, в файловом менеджере для Linux-оболочки KDE, а также в браузере Konqueror). Можно вспомнить также и другие проекты: Goanna (форк Gecko), Servo (разрабатывался Mozilla в рамках эксперимента, уже заброшен), Prince (движок, который помогал преобразовывать HTML-страницы в PDF, тоже уже заброшен) и прочие.
Многие современные сайты отходят от HTML-разметки и превращаются в web-приложения. Вместо HTML-кода сайт отдаёт JavaScript. Для его обработки нужен другой движок, и он тоже встроен в браузер (механизм чем-то схож с Java-машиной): V8 в Хроме, SpiderMonkey в Firefox, JavaScriptCore в Safari и т.д.
Браузер также берёт на себя «общение» с удалёнными серверами: обмен данными и заголовками, скачивание и отправка файлов, проверка контента, чтение ошибок, переадресация и прочее.
Ввиду высокой конкуренции между разработчиками браузеров, количество возможностей, эргономика и перечень поддерживаемых технологий постоянно растёт.
Да, браузеров много, некоторые из них более консервативные и с осторожностью внедряют каждую новую функцию (тот же Chrome), другие – чуть ли не экспериментальные, обкатывают свежие технологические и дизайнерские идеи сразу после их возникновения. Тем не менее, разработчики этого вида ПО придерживаются международных стандартов W3C – организации, которая занимается разработкой и стандартизацией программных технологий, используемых во Всемирной паутине. Кстати, её главой является человек, который разработал первый в мире браузер, — Тимоти Джон Бернерс-Ли.
Все популярные браузеры распространяются бесплатно. Некоторые из них вшиты прямо в операционные системы: Chrome – в Android, Safari – в MacOS, iPadOS и iOS, Microsoft Edge – в Windows, Firefox – в некоторые дистрибутивы Linux. По сути, это разделение сфер влияния крупных разработчиков ПО. Браузерами пользуются все, а платформы борются за потребителя. Браузер является одной из самых важных программ на любом девайсе, имеющем выход в Интернет. Через него можно продвигать свои сервисы, воспитывать лояльность аудитории к различным продуктам и отслеживать статистику. Например, все браузеры Google Chrome служат в качестве выносных терминалов для распределённого тестирования скорости сайтов (на базе CrUX и метрик Core Web Vitals). Такие данные используются в качестве одного из факторов ранжирования в поисковой выдаче Гугла.
Как работает браузер?
Содержание статьи:
Когда вы заходите в социальную сеть или на любимый форум, браузер и целевой сайт обмениваются данными, а также выполняют определённые операции. Как всё это выглядит по шагам? Сейчас расскажем типовой алгоритм.
- Пользователь вводит в поисковую строку (омнибокс) свой запрос. Можно обратиться непосредственно к домену, в этом случае первые три шага будут пропущены.
- Браузер перенаправляет запрос в ту поисковую систему, которая используется по умолчанию. Примерно здесь уже становится понятно, почему каждый поисковик норовит разработать свой собственный браузер – чтобы самому определять каким поиском вы будете пользоваться из коробки. Так как технически поисковик – это тоже сайт, мы намеренно упростим этот шаг и не будем разбирать его обработку для понимания общей концепции.
- Поисковик возвращает список сайтов и страниц, на которых он нашёл наиболее релевантный ответ. Пользователю только остаётся выбрать URL-адрес и кликнуть на нём. Клик передаёт браузеру новый целевой адрес (URL).
- Когда браузер получает конкретный URL-сайта, он сначала обращается к DNS-системе, ведь он не знает на каком IP работает сайт, поэтому не может подключиться к его серверу напрямую. DNS-система это часть стека протоколов TCP/IP.
- Если сильно упростить, что DNS-система «пробивает» домен сайта по своей базе и вместо символьного имени возвращает браузеру IP-адрес сервера, на котором хранится сайт. Подробнее о том, что такое домен.
- Когда IP-адрес целевого сайта известен, можно попытаться установить соединение – открыть сессию общения. За соединение отвечает транспортный протокол, то есть TCP.
- В рамках установленного соединения браузер и сервер (тот, на котором размещён сайт), обмениваются данными по протоколу HTTP или HTTPS (сейчас не будем разбирать теорию тройных рукопожатий и асимметричного шифрования, иначе всё станет ещё сложнее).
- HTTP – это протокол для передачи гипертекста, то есть HTML-кода. И именно этот код отдаёт в ответе целевой сайт. Технически это HTML-разметка конкретной страницы.
- Получив код, браузер пропускает его через свои движки (сначала обрабатывается HTML, а потом JavaScript) и рендерит, то есть обсчитывает расположение элементов.
- Готово, страницу можно показывать пользователю.
На каждом из шагов можно углубиться сильнее, но это уже будет материал для профи. Например, вместо гипертекста web-сервис может вернуть ссылки на JS-скрипты, куда-то переадресовать и т.д. Часть запросов может для ускорения перенаправляться в кеш браузера, например, минуя обращение к DNS. Если пользователь взаимодействует со страницей, и набор HTML-элементов или их свойств при этом меняется, то страница будет пересобираться (рендериться) заново.
Обработка структуры HTML-разметки
На всякий случай, раз упомянули об HTTPS, скажем, что этот протокол шифрует данные на основе специальных сертификатов (TLS/SSL-ключей) и передаёт информацию по открытым сетям в нечитаемом виде. Подменить или перехватить данные, например, пароли или номера банковских карт, при этом невозможно. Но так как надёжность шифрования зависит от достоверности сертификатов, действует цепочка доверенных центров, которые выдают эти самые сертификаты владельцам сайтов. Браузер в свою очередь знает все доверенные центры и выводит специальные уведомления, если сайт или злоумышленник где-то посередине попытается использовать сертификат, который подписан посторонней подписью. Так как часть сертификатов хранится на уровне операционной системы, это может стать серьёзной проблемой, как это произошло с Windows XP (подробнее о браузерах для XP).
Всё вышеописанное чем-то напоминает по смыслу телефонную связь: если вы знаете номер телефона, то можете позвонить конкретному абоненту (сайту). Браузер – это трубка (оконечное устройство), через которую вы можете услышать абонента. Без него сигналы из провода никак не прочитать.
Для пользователя процесс выглядит максимально просто: вбили домен (адрес), появилась страница. Так работает любой браузер.
Обратите внимание, для некоторых задач, например, для парсинга контента или для тестирования дизайна, графический интерфейс браузера не нужен, но нужны его движки рендеринга. Поэтому для профильных ниш создаются специальные версии браузеров – headless-браузеры (они предназначены для работы по API).
Отдельная ниша – антидетект-браузеры. Они предназначены для удобной работы с большим количеством аккаунтов (умеют работать с прокси и виртуализировать цифровые отпечатки).
История происхождения браузеров
Самый первый браузер назывался WorldWideWeb (WWW), его создал в 1990 году Тим Бернерс-Ли. Позже он переименовал его в Nexus. Программа не получила широкого распространения, потому что не имела графического интерфейса, который появился позже – в NCSA Mosaic в 1993 году (работал под Windows). Вот он и стал первым востребованным браузером. Исходный код продукта был в открытом доступе, на его основе чуть позже создали первый коммерчески успешный продукт – Netscape Navigator. Он стал основой для Internet Explorer от Microsoft и вошёл в коробочный состав Windows. Поскольку эта операционная система была наиболее востребована у пользователей, то и браузер быстро захватил рынок, чуть не перейдя в статус монополиста этой ниши ПО. Подробнее про войну браузеров.
Всё это привело к сильнейшему спаду популярности Netscape, доходы упали, поэтому компанию продали провайдеру AOL, которая на базе этого браузера выпустила продукт со свободной лицензией – Mozilla Firefox. Последний начал набирать популярность и долго был сильным конкурентом для других браузеров. Сейчас доля Огнелиса стабильно снижается, так как компания не может дать комплексных инфраструктурных решений, как все крупные IT-гиганты. С другой стороны, Microsoft, получив самую большую долю рынка, расслабилась и обновляла свой браузер редко, нововведения отставали от конкурентов, что дало последним возможность постепенно отвоёвывать рынок. Кстати, в 1995 вышла Opera, на тот момент в формате условно-бесплатного ПО. Google Chrome подтянулся лишь в 2008 году, но он изменил весь рынок браузеров.
В настоящее время все самые популярные браузеры используют одну и ту же кодовую базу – проект с открытым исходным кодом Chromium. IT-гиганты объединились для того, чтобы сэкономить и наконец стандартизировать web-технологии (обеспечить их совместимость). Разработчики сайтов при этом тоже откровенно выдохнули, так как до этого момента им приходилось тестировать и адаптировать сайты под разные движки. А это целый зоопарк браузеров.
По ту сторону баррикад остался только Firefox, который всё ещё использует свой собственный движок. Сейчас это вопрос времени – сколько он сможет продержаться, если его перестанет спонсировать Google (за свой поиск по умолчанию).
Как выбрать подходящий браузер?
До того момента, пока браузеры не перешли на единый движок, ещё можно было говорить о каком-то выборе. Сейчас выбор браузера – это скорее вопрос предпочтения той или иной инфраструктуры из связанных сервисов. Условно:
- Если вам нравится экосистема Microsoft и у вас много чего завязано на аккаунт (офисное ПО, личное облако, покупки игр и прочее), то вам логично использовать Microsoft Edge.
- Если вы зависите от экосистемы Google (почта, поиск, синхронизация Android-смартфона, хранилище фото и прочее) – вам лучше использовать Google Chrome.
- Если у вас только «яблочные» гаджеты – скорее всего идеальным будет Safari.
Ситуация на российском рынке немного отличается. Здесь свои нюансы: сервисы западных вендоров теперь нельзя оплатить с банковских карт российских банков, поэтому их актуальность планомерно снижается (пока действуют старые подписки). А ещё после отзыва сертификатов для важных государственных сайтов западные браузеры отказались признавать корневые сертификаты Минцифры. Аналогичная ситуация с доступом к нейросетям – пользоваться из РФ ими невозможно.
В итоге, единственным экосистемным решением на российском рынке можно назвать только Нейробраузер от Яндекса (Яндекс.Браузер).
Ниже сравнение наиболее интересных вариантов для Ру-сегмента.
Яндекс.Браузер
Яндекс.Браузер — самый популярный браузер в России. Единственный, кто может предложить тесную интеграцию с нейросетями и искусственным интеллектом. А это целая плеяда сервисов для работы с текстами и видео, с переводом, генерацией изображений и прочим. Плюс нейропоиск и крутой ассистент Алиса (её навыки можно наращивать, она может «жить» во всех ваших гаджетах – смартфоны, телевизор, навигатор в машине и т.д.). Браузер дружит со всеми сервисами Яндекса (всё завязывается на один аккаунт), имеет множество встроенных возможностей, позволяет использовать расширения из каталогов Хрома и Оперы, потому что построен на том же Хромиуме. Здесь есть блокировщик рекламы, поддержка тем оформления, красивый и удобный интерфейс. С точки зрения производительности и надёжности близок к Chrome. Из коробки умеет работать с российскими сайтами (теми, что используют сертификаты Минцифры).
Google Chrome
Google Chrome — пока ещё востребован в России, но его аудитория стабильно снижается. Многие функции и экосистемные решения завязаны на аккаунты Гугла. Они интересны в РФ только в бесплатном варианте. В самом браузере минимум дополнительных функций. Всё, чего не хватает, в пару кликов можно установить из каталога расширений. Хотя, например, все блокировщики рекламы Google вот-вот должен оттуда вычистить, чтобы они не мешали зарабатывать корпорации. Нейросетей под капотом нет.
Mozilla Firefox
Mozilla Firefox — единственный, кто не сдался и продолжает поддерживать свой собственный движок. Как и Хром отказался внедрять поддержку сертификатов Минцифры, а ещё удалил поиск Яндекса (хотя это были условия партнёрства). Из экосистемы может предложить только синхронизацию паролей и закладок. Единственная важная особенность браузера – повышенная конфиденциальность. IT-корпорации не могут следить за всеми вашими действиями (правда, до того момента, пока вы не авторизуетесь со своим аккаунтом в их сервисах). Аудитория Firefox сокращается всё сильнее и сильнее. Отчасти это следствие неправильное политики текущего руководства, а отчасти – отсутствие адекватного финансирования (компания живёт на дотации Google).
Помимо описанных, можем отметить Opera, Microsoft Edge, Brave и Vivaldi – тоже неплохие браузеры, но каждый для своих задач и аудитории.
Дополнения для браузеров
Практически все браузеры для ПК позволяют устанавливать расширения для наращивания базовых возможностей. Наверняка, парочка плагинов стоит и у вас. Самые популярные по типу расширения – блокировщики рекламы и спама, ротаторы прокси. Дополнения пишут как разработчики браузеров, так и сторонние энтузиасты. Некоторые из плагинов платные (среди мобильных точно встречаются), но бесплатных больше. В целом, все дополнения можно разделить на:
- Расширения – миллион разнообразных утилит для упрощения/решения прикладных задач: поиск чего-либо, создание заметок и скриншотов, музыкальные виджеты, переводчики/словари, текстовые редакторы, настраиваемые рабочие пространства, виджеты сотен веб-сервисов и ещё много-много всего – фантазии не хватит перечислить.
- Элементы оформления – темы или скины для браузера, а также кнопочки, иконки, цветовые схемы, обои – различные сочетания этих элементов формируют дизайн. В некоторых браузера есть особые фишки, например, интеграция с подсветкой системного монитора и/или клавиатуры.
У Chrome самый большой магазин расширений и тем – десятки тысяч позиций. Этим каталогом также пользуются другие браузеры на базе Chromium (благодаря совместимости): Opera, Yandex, Edge и прочие.
Можно сделать из браузера этакого монстра – с сотней установленных плагинов, но мало кому это действительно нужно, да и пользоваться ими будет неудобно. Плюс неизбежно возрастает нагрузка на ПК/ноутбук. Имейте ввиду этот момент.
Выводы
Браузер – программа для просмотра сайтов и контента в Интернете. Современные браузеры отвечают за поддержку актуальных web-технологий, поэтому в них есть не только движки для рендеринга (отрисовки страниц), но и программные решения для других задач, в первую очередь для защиты пользователей, а также для повышения комфорта их работы.
Большинство популярных браузеров строится на одной и той же кодовой базе (это Chromium) – так IT-корпорации могут централизованно согласовывать поддержку актуальных стандартов. Ключевыми отличиями таких браузеров можно назвать только их привязку к экосистемам: Яндекс, Google, Microsoft, Apple. Компании, которые не могут обеспечить работу экосистемы из сервисов, ориентируются на узкие ниши и специфические функции. Речь об Opera, Brave, Vivaldi и т.п.
Последний из могикан – браузер Mozilla Firefox. Он единственный, кто не стал переходить на кодовую базу Хромиума. Правда, это не помогло ему сохранить аудиторию. Она планомерно сокращается независимо от усилий руководства и разработчиков.
Несмотря на то, что браузеров на рынке предостаточно, на любой вкус и цвет, для российского рынка выбор не так велик. Фактически это только Нейробраузер Яндекса (Яндекс.Браузер). Ранее существовавшая альтернатива от Mail.ru (VK), браузер Атом, ныне закрыт и больше недоступен для скачивания.
Яндекс не подвёл и смог обеспечить массу оригинальных функций: от нейросетей и поддержки сертификатов Минцифры до встроенной рассрочки (Сплит) и блокировщиков рекламы. Поэтому его не стыдно порекомендовать.
- Автор: Дмитрий Луценко
Источник: uguide.ru