Обновить
47.26

Браузеры

Веб-обозреватели

Сначала показывать
Порог рейтинга
Уровень сложности

Что на самом деле происходит, когда пользователь вбивает в браузер адрес google.com

Время на прочтение19 мин
Охват и читатели468K


Эта статья является попыткой ответа на старый вопрос для собеседований: «Что же случается, когда вы печатаете в адресной строке google.com и нажимаете Enter?» Мы попробуем разобраться в этом максимально подробно, не пропуская ни одной детали.

Примечание: публикация основана на содержании репозитория What happens when...

Представленный контент изобилует большим количеством терминов, в переводе некоторых из них могут присутствовать различные неточности. Если вы обнаружите какую-то ошибку в нашем переводе — напишите личным сообщением, и мы всё исправим.

Мы перенесли перевод в репозиторий GitHub и отправили Pull Request автору материала — оставляйте свои правки к тексту, и вместе мы сможем значительно улучшить его.
Читать дальше →

Первый взгляд на Project Spartan — браузерное будущее от Microsoft

Время на прочтение3 мин
Охват и читатели25K
Всем доброго времени суток от Лорда Огня!

Сегодня таки достаточно кратко, но все же — я хочу рассказать и агитировать! А именно — в текущей-новой сборке (10049) Windows 10 Technical Preview появился наследник и убийца, в обозримом будущем, старого-доброго Internet Explorer — Project Spartan (кодовое имя). Провести небольшой обзор я и хочу сегодня!



Читать дальше →

K-Meleon 75: текущее состояние, баги, ссылки и т.п

Время на прочтение4 мин
Охват и читатели6.6K
Ну что ж, после довольно долгого вступления и представления браузера поговорим о современном состоянии дел с ним.

На сегодня K-Meleon находится на пороге релиза 75, построенного на 31-м ESR-движке. Несмотря на быстрое «принудительное устаревание» браузеров, 75-й полноценно актуален. Самой важной задачей разработчика, Дориана, пожалуй, стали относительно масштабные изменения в оригинальном функционале КМ, а также дальнейшая адаптация движка Мозиллы, которая рада задать проблем каждому, кто посмеет вторгнуться на ее территорию.

Несмотря на долгие усилия, даже 2-й релиз-кандидат не свободен от некоторых неприятных багов, но очень много возникших проблем счастливо решены. При этом в браузер добавлен довольно приличный объем значимого функционала.

Правда, что ли?

Альтернативная система управления жестами мыши для расширений Chrome и Firefox

Время на прочтение7 мин
Охват и читатели41K


Если кратко, то под катом вас ждет описание альтернативных жестов в картинках, шпаргалка по запоминанию первых 29 жестов, сравнение популярных расширений по управлению жестами мыши, готовые настройки для импорта новых жестов, небольшой список известных расширений и утилит, которые делают серфинг в сети быстрее и приятней. Теперь обо всем по порядку…
Осторожно, много картинок

Внеочередная еженедельная сборка Vivaldi 1.0.138.4

Время на прочтение3 мин
Охват и читатели7.6K
Всем привет!

Нежданно-негаданно мы выпустили новую внеплановую еженедельную сборку браузера Vivaldi под номером 1.0.138.4. Прошлая сборка, вышедшая в понедельник, оказалась не совсем такой, как ожидалось — проявилось много ошибок и недочётов, поэтому совесть наша не выдержала и мы с удвоенной силой взялись за исправление того, что поломали. В результате созрела новая сборка, которую мы решили вам предложить не откладывая в долгий ящик. Итак, что в ней нового.

Прежде всего, мы очень активно продолжаем работать над повышением производительности интерфейса браузера — многие из вас жаловались на «тормоза». Мы проделали некоторую оптимизацию, особенно с отрисовкой Экспресс-панели и с ускорением так называемого «холодного» старта — посмотрите, что у нас получилось.
Читать дальше →

Использование технологии Microsoft Active Accessibility для доступа к содержимому браузера

Время на прочтение6 мин
Охват и читатели14K
Давайте придумаем решение вот такой-вот простенькой задачи.
Имеется: браузер (IE, Chrome или Firefox), уже запущенный пользователем.
Требуется: написать программу, которая получит URL, который в данный момент введён в адресной строке.

Давайте подумаем, каким образом эту простенькую задачу решить НЕ получится:

1. FindWindow + GetWindowText
Почему не получится
Первая идея — найти окно браузера, в нём дочернее окно адресной строки и взять URL оттуда. Практика показывает, что отдельное дочернее окно для адресной строки имеет только IE. FF и Chrome кросплатформенны, поэтому предпочитают весь свой контент отрисовывать самостоятельно.

2. Браузерное расширение, которое отдаст URL нашей программе (например, через запрос к localhost)
Почему не получится
Можно. Но во-первых, для трёх браузеров нужно будет написать 3 разных расширения, а во-вторых, для FF и Chrome мы будем вынуждены распространять его только через их магазины расширений. Писать программу, работоспособность которой зависит от того, зачешется ли сегодня левая пятка модератора — нет уж, увольте.

3. Давайте напишем сниффер и посмотрим что там пользователь открывал
Почему не получится
А давайте! Но что дальше? Даже если из потока трафика мы выделим данные, полученные именно браузером и расшифруем HTTP-протокол, мы всё-равно не узнаем именно текущий URL (ссылок в потоке будет много). Кроме того, сразу идут в сад HTTPS-соединения, HTTP/2, ссылки на локально открытые файлы, ссылки на внутренние страницы (типа chrome://settings) и т.д.

4. Давайте воспользуемся Remote Debugging Protocol ну или каким-нибудь Selenium-ом
Почему не получится
Не подходит из-за ограничения условий исходной задачи: браузер уже запущен, мы не можем запустить новый подконтрольный экземпляр, нам нужно взаимодействовать с уже имеющимся.

5. Может быть, хуки?
Почему не получится
Ну, внедриться-то мы в браузер сможем. А на что вешать хуки? Для IE всё ясно — SetWindowText для окна адресной строки (но с ним и более простой способ №1 проходил). А в FF и Chrome у нас нет каких-то чётко определённых объектов и интерфейсов, на которые мы можем завязаться. Можно что-то сделать с конкретной версией браузера, но универсального решения не получится.

6. Скриншот окна браузера, определение положения адресной строки, распознавание текста с картинки!
Почему не получится
Уже как-то начинает смахивать на отчаяние, правда? Прикинем все варианты цветовых схем ОС, разрешений, масштабов, учтём наличие в браузере плагинов, цветовых схем, нестандартного расположения элементов, right-to-left языковых локалей ну и закончим случаем, когда окно адресной строки слишком узкое, чтобы вместить URL полностью.

7. Ваш вариант
А напишите в комментариях, какие ещё решения вам приходят в голову и мы подумаем, получится или нет.

А теперь один из правильных ответов: мы воспользуемся уже старенькой, но весьма стабильной и поддерживаемой всеми браузерами во всех ОС с Win95 до Win10 технологией Microsoft Active Accessibility, которая даст нам возможность не только получить текущий URL (при чём одинаковым образом для всех браузеров), но и вообще дать доступ ко всему контенту браузера — от самого родительского окна с его заголовком, меню, тулбаром, вкладками и до содержимого открытой веб-страницы вплоть до самого последнего её элемента.
Читать дальше →

Кому может быть нужен K-Meleon?

Время на прочтение4 мин
Охват и читатели53K
Итак, поговорим о главном: зачем вообще нужен K-Meleon в наше время, когда вокруг стотыщ разных браузеров?

Зачем? Кому? Для чего?

Первый ответ, который обычно дают на этот вопрос – тем, у кого low-end или старые компьютеры. И это логично: на всех не новых системах КМ не один год имеет заслуженную репутацию ведущего полнофункционального легковеса.
Отчасти вынужденное отставание от «передовой» фронта разработки топ-браузеров КМ фактически обратил в свое преимущество как нишевого браузера для «олдтаймеров». Так на все еще довольно многочисленных компьютерах эры P4, доживающих свой век в сени WinXP, а то и Win2k, K-Meleon – едва ли не единственный современный браузер, позволяющий работать без зверских тормозов и ограничений.

И еще как минимум 6 ответов на эти вопросы

10 относительно малоизвестных фактов о K-Meleon

Время на прочтение2 мин
Охват и читатели34K
  1. Это я уже писал, но не грех и повторить: K-Meleon существует 15 лет, с 2000 года, являясь одним из старейших браузеров, сохраняющих актуальность и преемственность до наших дней.
  2. K-Meleon скачан с официальной страницы на sourceforge более 7600000 раз.
  3. Наиболее популярен K-Meleon… в России! Примерно 20% всех закачек сделали пользователи нашей страны.

Читать дальше →

K-Meleon приветствует Хабражителей

Время на прочтение2 мин
Охват и читатели15K
Здравствуй, Хабралюд!

Не прошло и… много лет, как я попал сюда, и теперь могу приветствовать сообщество на правах полноправного участника.
На правах действующего лидера Русской команды K-Meleon я открываю этот блог, посвященный одному из старейших актуальных браузеров мира.

Да это не шутка – когда Майкрософт свершит свои планы по убийству IE, заменив его новым брендом, K-Meleon станет старейшиной мира современных десктопных браузеров на платформе Windows. Тех, которые обновляются и сохраняют совместимость с современным вебом до сих пор.
Читать дальше →

Как легко расшифровать TLS-трафик от браузера в Wireshark

Время на прочтение2 мин
Охват и читатели178K
Многим из вас знаком Wireshark — анализатор трафика, который помогает понять работу сети, диагностировать проблемы, и вообще умеет кучу вещей.

image

Одна из проблем с тем, как работает Wireshark, заключается в невозможности легко проанализировать зашифрованный трафик, вроде TLS. Раньше вы могли указать Wireshark приватные ключи, если они у вас были, и расшифровывать трафик на лету, но это работало только в том случае, если использовался исключительно RSA. Эта функциональность сломалась из-за того, что люди начали продвигать совершенную прямую секретность (Perfect Forward Secrecy), и приватного ключа стало недостаточно, чтобы получить сессионный ключ, который используется для расшифровки данных. Вторая проблема заключается в том, что приватный ключ не должен или не может быть выгружен с клиента, сервера или HSM (Hardware Security Module), в котором находится. Из-за этого, мне приходилось прибегать к сомнительным ухищрениям с расшифровкой трафика через man-in-the-middle (например, через sslstrip).

Логгирование сессионных ключей спешит на помощь!


Что ж, друзья, сегодня я вам расскажу о способе проще! Оказалось, что Firefox и Development-версия Chrome поддерживают логгирование симметричных сессионных ключей, которые используются для зашифровки трафика, в файл. Вы можете указать этот файл в Wireshark, и (вуаля!) трафик расшифровался. Давайте-ка настроим это дело.
Читать дальше →

Как отобразить количество оповещений в названии вкладки браузера

Время на прочтение3 мин
Охват и читатели33K


Веб-сайты и веб приложения с постоянно обновляющимся контентом должны оповещать об обновлениях в том случае, если пользователь ушел с вкладки, но не закрыл ее.

Существует пара наиболее распространенных способов оповещения пользователя. С одной стороны, социальные сети Facebook, Twitter и LinkedIn указывают определенное число, которое соответствует количеству обновлений. С другой стороны, Trello отображает небольшой красный кружок поверх favicon.

Trello Facebook and Twitter notifications
Оповещения Trello, Facebook и Twitter

В этом уроке мы воссоздадим подобные оповещения. Посмотрите демо (англ.), чтобы понять, чем мы будем заниматься.

Посмотреть на GitHub
Демо (рус.)
Читать дальше →

Обновление серверов Opera Mini: Flexbox, ES5, HTML5-парсер

Время на прочтение4 мин
Охват и читатели15K


Мы обновили сервера Opera Mini до новой версии нашего движка Presto. Это значит, что раскладки на Flexbox и единицы измерения rem будут работать, как вы и ожидали.

Как вы уже наверняка знаете, Opera Mini отрисовывает страницы на серверах Opera, и они потом в сильно сжатом формате отправляются обратно в клиенты на устройствах. Это значит, что все пользователи сразу же увидят страницы, отрисованные обновлёнными серверами Mini — им не понадобится обновлять программы. Автоматическое обновление для 260 миллионов пользователей всего за одни выходные. Ого.
Читать дальше →

Еженедельная сборка Vivaldi 1.0.129.2

Время на прочтение2 мин
Охват и читатели7.9K
Всем привет!

Представляем вам очередную еженедельную сборку браузера Vivaldi под номером 1.0.129.2. Вкратце, чем занимались, что сделали и что сломали.

Добавлена функция закрытия вкладок двойным кликом. Вы просили — мы сделали.

Также одним из популярных запросов было добавление визуальной индикации загрузки фоновых вкладок. Без этого было непонятно, что происходит со страницами, открытыми в фоне — уже загрузились или процесс ещё идёт? Теперь мы добавили индикатор, сообщающий о статусе загружаемых страниц.

На днях мы приступили к реализации ещё одного популярного запроса — возможности импорта данных из других браузеров и, в частности, из Chrome. Но сразу вынуждены предупредить: функция работает пока очень нестабильно и может приводить к крэшу браузера. Кроме того, функция недоступна пока на Mac платформах. Другими словами, мы это делаем, но пока лучше данную функцию не трогать руками — подождите, пока ситуация стабилизируется в следующих сборках. Любители экстремального тестирования могут экспериментировать без ограничений, но не забывайте отправлять нам сообщения о найденных ошибках.
Читать дальше →

Ближайшие события

PCE.js и старое железо в браузере

Время на прочтение1 мин
Охват и читатели19K


Доброго дня всем в эту пятницу.

Уже скоро выходные, предлагаю отвлечься от дел насущных и понастольгировать.

Я удивлен, что этот интереснейший проект оказался удостоен, вроде бы, лишь одного комментария на хабре + упоминания о Windows 1.01.

Для тех, кто не знает, поясняю — это эмулятор разных старых платформ в браузере (думаю скоро Windows XP увидим портированную на кофескрипт).

С момента того поста тут уже появились куча интересного.
Давайте вспомним

Браузеры от российских ИТ-компаний: попытка непредвзятого обзора

Время на прочтение10 мин
Охват и читатели157K
Как заставить человека использовать именно свои сервисы: поиск, карты, почту?.. Все мы знаем, большинство людей никогда не меняют настройки программ по умолчанию — не могут или не хотят заморачиваться и браузер не исключение, поэтому установить свой поиск приоритетным (с ведома пользователя или без него) зачастую означает получить в свои дьявольские сети еще одну ничего не подозревающую душу. А если установить пользователю браузер, который уже правильно сконфигурирован, то… мечта прямо! С появлением открытого проекта Chromium мечты многих поставщиков веб-сервисов стали реальностью, и его сборки стали появляться, как грибы после дождя.

Я никогда не использовал ни одну сборку Хромиум кроме собственно Хрома и новой Оперы, но недавно разобрало любопытство: а что же там можно наделать и стоит ли обращать на это внимание или это просто продолжение славного дела Дениса Попова? Сказано-сделано, я порылся в Сети и выбрал участников для обзора. Рассматривал я только российские сборки и только от крупных поставщиков веб-сервисов, потому что в противном случае, мне не хватило бы на мой обзор и жизни.

Интересно? Тогда начнем.

Под катом много скриншотов, общий объем ~3 мб.
Читать дальше →

Синхронизация закладок Opera между iOS, Android и компьютером

Время на прочтение1 мин
Охват и читатели17K


Сегодня у нас парад обновлений: Opera 28 для компьютеров, Opera 28 для Android и Opera Mini 10 для iOS. Что-то новое есть на каждой из платформ, но все их объединяет главное: единые закладки, которые можно добавлять, удалять, редактировать и эти изменения синхронизируются на всех устройствах. Впервые о синхронизации мы рассказали в октябре 2014 года и после регулярно делились обновлениями. И сегодня можно с уверенностью сказать: синхронизация готова и готова на всех устройствах.

Включить синхронизацию просто: введите в настройках логин и пароль Opera (если у вас уже был аккаунт My Opera или Opera Link, то он подойдёт) — или заведите себе логин, если ещё не успели:

Читать дальше →

Еженедельная сборка Vivaldi 1.0.123.10

Время на прочтение3 мин
Охват и читатели8.7K
Всем привет!

Представляем вам очередную еженедельную сборку браузера Vivaldi под номером 1.0.123.10. Как многие из вас знают, на прошлой неделе мы были заняты подготовкой к выпуску тестовой версии Vivaldi TP2, но, несмотря на это, в сегодняшней тестовой сборке тоже есть, что показать из проделанной работы.

Прежде всего, мы продолжили работу над пространственной навигацией. Теперь она работает ощутимо качественнее по сравнению с прошлой версией, хотя, конечно, до полностью работоспособного и удобного инструмента ещё работать и работать. Что мы и делаем.

Также мы провели ощутимое улучшение производительности интерфейса браузера. Надеемся, что эти изменения вам понравятся, т.к. по прошлым версиям было довольно много жалоб на работу интерфейса.

Ещё одно заметное изменение, которое вы обнаружите в настройках — мы добавили возможность отключать некоторые сервисы Google, традиционно представленные в основанных на Chromium браузерах. Мы не даём оценку качества этих сервисов, мы просто предоставляем вам возможность отказаться от них, если вы этого хотите. Данные изменения должны прийтись по вкусу пользователям, уделяющим вопросам приватности и сохранности личных данных повышенное внимание. Почему — пара слов об этом ниже.
Читать дальше →

Как я делал свое первое расшырение на Chrome

Время на прочтение3 мин
Охват и читатели738
Добрый день.
Сегодня я расскажу как я делал расшырение на Chrome.
Суть расшырения:
Вертикальная панель слева на каждом сайте чтоб прокрутиться вверх, как в вк, при повторном клике снова вниз.
Интересно? Читай дальше!

Супер-куки на основе HSTS отследят вас даже в приватном режиме

Время на прочтение2 мин
Охват и читатели32K
Уже несколько лет все браузеры предлагают настройки для приватного браузинга. В приватном режиме они могут не сохранять куки, историю страниц и временные файлы. Люди, ценящие приватность, полагаются на эту возможность. Но недавно был предложен ещё один способ отследить пользователя даже и в этом случае, если тот не предпримет особых мер.

Ирония в том, что работе этой системы отслеживания способствует механизм под названием HTTP Strict Transport Security. Он нужен для того, чтобы сайты могли убедиться, что пользователь работает с их серверами только по протоколу HTTPS. Если сервер добавляет в заголовки соответствующий флаг, то по правилам HSTS все соединения с сервером должны быть зашифрованы. Таким образом пользователя защищают от различных возможных атак.
Читать дальше →

Боковая панель для расширений и другие новинки Opera Developer 29

Время на прочтение4 мин
Охват и читатели28K
Недавно мы рассказали про февральские новинки Opera Developer 29, но уже март, поэтому держите — ещё больше и интереснее, чем в прошлый раз (помимо более 150 исправлений и обновлённого Chromium 42):

  1. Боковая панель для расширений
  2. Новая экспресс-панель с синхронизацией
  3. Вкладки на устройствах
  4. Настройка горячих клавиш

Боковая панель для расширений




Теперь вы можете устанавливать расширения не только в виде кнопки на панели после адресной строки, но и на новую боковую панель. То есть, скажем, читать Хабр и поглядывать на Hacker News или в какой-нибудь веб-чат. Новую панель можно открыть из меню или комбинацией клавиш:

  • Windows: Меню Opera → Extensions → Sidebar (Ctrl Shift S)
  • Mac: View → Show Sidebar (Cmd Shift S)
Читать дальше →

Вклад авторов