Google обосновал ограничение API webRequest, используемого блокировщиками рекламы

Рaзрaбoтчики брaузeрa Chrome пoпытaлись oбoснoвaть прeкрaщeниe пoддeржки блoкирующeгo рeжимa рaбoты API webRequest, пoзвoляющeгo мeнять принимaeмый кoнтeнт нa лeту и aктивнo примeняeмoгo в дoпoлнeнияx в целях блoкирoвaния рeклaмы, зaщиты oт врeдoнoснoгo ПO, фишингa, шпиoнящeй зa пoльзoвaтeлями активности, родительского контроля и обеспечения приватности. Мотивы Google: Запирающий режим работы API webRequest приводит к большому потреблению ресурсов. Близ этом основные задержки возникают безлюдный (=малолюдный) на стадии обработки трафика дополнением, а изо-за накладных расходов на координацию выполнения дополнения. В частности, подобные манипуляции требуют запуска во (избежание дополнения отдельного процесса, а также применения IPC угоду кому) взаимодействия с этим процессом и механизмов сериализации данных; Прибавление полностью контролирует весь трафик сверху низком уровне, что открывает обширные потенциал для злоупотреблений и нарушений приватности. Сообразно статистике Google в 42% всех выявленных вредоносных дополнений применялся API webRequest. Отмечается, фигли ежемесячно в каталоге Chrome Web Store блокируются попытки размещения в среднем 1800 вредоносных дополнений. К сожалению разбирание не позволяет отлавливать все кроме исключения вредоносные дополнения, поэтому в (видах усиления защиты было решено подрезать крылья дополнения на уровне API. Основная положение в том, чтобы предоставлять дополнениям впуск. Ant. выход не ко всему трафику, а всего к тем данным, которые необходимы с целью реализации задуманной функциональности. В частности, пользу кого блокировки контента не обязательно удружать дополнению полный доступ ко во всех отношениях конфиденциальным данным пользователя; Предложенный получи замену декларативный API declarativeNetRequest берёт получай себя всю работу по высокопроизводительной фильтрации контента и не долее чем требует от дополнений загрузки правил фильтрации. Добавка при этом не может втереться в трафик и приватные данные пользователя остаются неприкосновенны; Google учёл многие критические замечания в отношении недостаточной функциональности API declarativeNetRequest и расширил ограничение на число правил фильтрации с изначально предложенных 30 тысяч задолго. Ant. с 150 тысяч, а также добавил внутренние резервы для динамического изменения и добавления правил, удаления и замены HTTP-заголовков (Referer, Cookie, Set-Cookie) и параметров запросов; Во (избежание предприятий оставлена возможность использования блокирующего режима работы API webRequest, манером) как политику применения дополнений определяет менеджер, который понимает особенности инфраструктуры и осознаёт риски. Как-то, указанный API может применяться на предприятиях исполнение) учёта потоков трафика сотрудников и интеграции с внутренними системами; Целью Google является неважный (=маловажный) ущемление и подавление дополнений для блокирования рекламы, а доставление возможности создания более безопасных и производительных блокировщиков рекламы; Приведи) бог оставить блокирующий режим работы API webRequest одинаково с новым declarativeNetRequest объясняется желанием положить предел доступ дополнений к конфиденциальным данным. Возражения разработчиков дополнений: Проведённые разработчиками дополнений тесты показывают ничтожное для общем фоне влияние на плодотворность дополнений для блокирования рекламы (рядом тестировании сравниваласть производительность различных дополнений, только без учёта накладных расходов чтобы координации работы дополнительного процесса, координирующего проведение в жизнь обработчиков в блокирующем режиме API webRequest); Нерационально полностью прекращать поддержку API, активно используемого в дополнениях. За удаления можно добавить отдельное допущение и жёстко контролировать адекватность его применения в дополнениях, кое-что позволило бы избавить авторов многих популярных дополнений ото полной переработки их продуктов и избежать урезания функциональности; Пользу кого снижения накладных расходов можно малограмотный удалять API, а переделать на основе механизма Promise, по мнению аналогии с реализацией webRequest в Firefox; Предложенная вопрос declarativeNetRequest не покрывает всех потребностей разработчиков дополнений на блокирования рекламы и обеспечения безопасности/приватности, круглым счетом как предоставляет полного контроля вслед сетевыми запросами, не позволяет воспользоваться собственные алгоритмы фильтрации и не даёт маза использовать сложные правила, перекрывающие корефан друга в зависимости от условий; Обуза о приватности надумана, так как корпящий в режиме только для чтения блокирующий режим API webRequest оставлен и по-прежнему позволяет вредоносным дополнениям осуществлять контроль весь трафик, но не даёт замазка на лету вмешиваться в него (переработать содержимое, поставить свою рекламу, забыть майнеры и анализировать содержимое форм ввода позволено и после окончания загрузки страницы). Очаг: http://www.opennet.ru/opennews/art.shtml?num=50868