Безголовый браузер - Headless browser

А безголовый браузер это веб-браузер без графический пользовательский интерфейс.

Безголовые браузеры обеспечивают автоматическое управление веб-страницей в среде, аналогичной популярным веб-браузерам, но они выполняются через Интерфейс командной строки или используя сетевую связь. Они особенно полезны для тестирование веб-страницы, поскольку они могут отображать и понимать HTML так же, как браузер, включая элементы стиля, такие как макет страницы, цвет, выбор шрифта и выполнение JavaScript и Аякс которые обычно недоступны при использовании других методов тестирования.[1][2]

Сценарии использования

Безголовые браузеры используются для:[3][4]

Google заявили в 2009 году, что использование автономного браузера может помочь их поисковой системе индексировать контент с веб-сайтов, использующих Ajax.[5]

Вредоносный

Безголовые браузеры также можно использовать для:

  • Выполнять DDOS атаки на веб-сайты.[6]
  • Увеличьте количество рекламных показов.[7]
  • Автоматизируйте веб-сайты непреднамеренными способами[8] например за набивка учетных данных.[9]

Список безголовых браузеров

Это список браузеров, обеспечивающих полную или почти полную автономную реализацию.

  • Гугл Хром - начиная с версии 59 Chrome поддерживает безголовый режим в Linux, macOS и Windows[10]
  • Fire Fox - Безголовый режим доступен в Linux с версии 55.[11] В версии 56 добавлена ​​поддержка безголового режима в Windows и macOS.[12]
  • PhantomJS - безголовый веб-браузер, использующий WebKit механизм верстки для рендеринга веб-страниц и JavaScriptCore для выполнения тестов по сценарию. PhantomJS был первоначально разработан Арией Хидаят в 2010 году и получил широкую поддержку и обширную экосистему разработки. Однако с тех пор проект был заархивирован и больше не находится в активной разработке.[13][14][15][16][17][18]
  • HtmlUnit - безголовый браузер, написанный на Java. HtmlUnit использует Двигатель Rhino для обеспечения поддержки JavaScript и Ajax, а также возможности частичного рендеринга.[19][20]
  • TrifleJS - безголовый Internet Explorer браузер со сценариями, использующий Движок компоновки трезубца для рендеринга страниц и Двигатель JavaScript V8 для выполнения тестов по сценарию. TrifleJS использует то же API язык как PhantomJS и работает с помощью объекта .NET WebBrowser для управления любой версией Internet Explorer, установленной на машине.[4][21]
  • Splash - безголовый веб-браузер с HTTP API, Lua поддержка скриптов и встроенный IPython IDE на основе (Jupyter). Всплеск написан на Python и использует WebKit верстка движка. Разработка началась в ScrapingHub в 2013 году; он частично финансируется DARPA.[22][23]
  • SimpleBrowser - легкий, высокопроизводительный, автономный веб-браузер с API .NET Standard с поддержкой сценариев. SimpleBrowser написан на C #, поддерживает .NET Standard 2.0.

Смоделированный

Это браузеры, имитирующие среду браузера. Хотя они могут поддерживать общие функции браузера (анализ HTML, печенье, XHR, некоторый JavaScript и т. д.), они не оказывать то ДОМ и имеют ограниченную поддержку События DOM. Обычно они работают быстрее, чем полнофункциональные браузеры, но не могут правильно интерпретировать многие популярные веб-сайты.[24][25][26]

  • Zombie.js - смоделированная среда браузера для Node.js.[27]
  • ENVJS - смоделированная среда браузера, написанная на JavaScript для Двигатель Rhino.[28]
  • Edbrowse (ограниченная поддержка DOM)

Сценарий

Это браузеры, для которых может по-прежнему требоваться пользовательский интерфейс, но они имеют программные API и предназначены для использования аналогично традиционным браузерам без головы.

Смотрите также

Рекомендации

  1. ^ "Что такое безголовый браузер?". arhg.net.
  2. ^ "Быстрый старт". phantomjs.org.
  3. ^ «PhantomJS - PhantomJS». phantomjs.org.
  4. ^ а б "trifleJS".
  5. ^ "Официальный блог Центра веб-мастеров Google: предложение сделать AJAX доступным для сканирования". Официальный блог Центра веб-мастеров Google.
  6. ^ "Безголовый браузерный ботнет, использованный в 150-часовой DDoS-атаке". Сообщество Business 2.
  7. ^ "Интернет-трафик без заголовков угрожает интернет-экономике". ecommercetimes.com.
  8. ^ «Безголовые браузеры: законное программное обеспечение, позволяющее атаковать». ИТПроПортал.
  9. ^ «Учетная начинка». owasp.org.
  10. ^ «Начало работы с Headless Chrome». developers.google.com.
  11. ^ «Безголовый режим - поддержка браузера». developer.mozilla.org.
  12. ^ «Примечания к выпуску Firefox 56». developer.mozilla.org.
  13. ^ «PhantomJS - PhantomJS». phantomjs.org.
  14. ^ "ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ". phantomjs.org.
  15. ^ "Группы Google". google.com.
  16. ^ "Фиксирует · ariya / phantomjs · GitHub". GitHub.
  17. ^ "ария / фантомы". GitHub.
  18. ^ «Архивирование проекта: приостановка разработки · Проблема №15344 · ariya / phantomjs». GitHub. Получено 2018-12-05.
  19. ^ Майк Боулер. «HtmlUnit - Добро пожаловать в HtmlUnit». sourceforge.net.
  20. ^ «Платформа (API Vaadin 7.3.4)». vaadin.com. 6 ноября 2014 г.
  21. ^ "Дома". GitHub.
  22. ^ "scrapinghub / splash". GitHub.
  23. ^ «Архивная копия». Архивировано из оригинал на 2015-05-28. Получено 2015-05-28.CS1 maint: заархивированная копия как заголовок (связь)
  24. ^ "assaf / зомби". GitHub.
  25. ^ "ヘ ル ペ ス が 口 や ら る? 感染 し た 時 の と 病院 の 治療 方法 と は". www.envjs.com. Архивировано из оригинал на 2015-02-23. Получено 2015-03-13.
  26. ^ "JavaScriptMVC - EnvJS". javascriptmvc.com.
  27. ^ "Зомби". labnotes.org.
  28. ^ Резиг, Джон (29 января 2018 г.). "env-js: среда браузера на чистом JavaScript" - через GitHub.
  29. ^ Лоран Жуано. «SlimerJS». slimerjs.org.