Headless browser

A headless browser is a web browser without a graphical user interface.

Headless browsers provide automated control of a web page in an environment similar to popular web browsers, but are executed via a command line interface or using network communication. They are particularly useful for testing web pages as they are able to render and understand HTML the same way a browser would, including styling elements such as page layout, colour, font selection and execution of JavaScript and AJAX which are usually not available when using other testing methods.[1][2] Google stated in 2009 that using a headless browser could help their search engine index content from websites that use AJAX.[3]

Use Cases for Headless Browsers

Headless browsers are used for:[4][5]

Malicious Use Cases

Headless browsers can also be used to:

List of Headless Browsers

This is a list of browsers providing a complete or near-complete headless implementation.

Simulated Headless Browsers

These are browsers that simulate a browser environment. While they are able to support common browser features (HTML parsing, cookies, XHR, some javascript, etc.), they do not render DOM and have limited support for DOM events. They usually perform faster than full browsers, but are unable to correctly interpret many popular websites.[20][21][22]

Scriptable Browsers

These are browsers that may still require a user Interface but have programmatic APIs and are intended to be used in ways similar to traditional headless browsers.

See also

References

  1. "What is a headless browser?". arhg.net.
  2. "Quick Start". phantomjs.org.
  3. "Official Google Webmaster Central Blog: A proposal for making AJAX crawlable". Official Google Webmaster Central Blog.
  4. "PhantomJS - PhantomJS". phantomjs.org.
  5. 1 2 "trifleJS". trifleJS.
  6. "Headless Browser Botnet Used in 150 hour DDoS attack". Business 2 Community.
  7. "Headless Web Traffic Threatens Internet Economy". ecommercetimes.com.
  8. "Headless browsers: legitimate software that enables attack". ITProPortal.
  9. "Credential stuffing". owasp.org.
  10. "PhantomJS - PhantomJS". phantomjs.org.
  11. "FAQ". phantomjs.org.
  12. "Google Groups". google.com.
  13. "Commits · ariya/phantomjs · GitHub". GitHub.
  14. "ariya/phantomjs". GitHub.
  15. Mike Bowler. "HtmlUnit – Welcome to HtmlUnit". sourceforge.net.
  16. "Platform (Vaadin 7.3.4 API)". vaadin.com. 6 November 2014.
  17. "Home". GitHub.
  18. "scrapinghub/splash". GitHub.
  19. http://www.darpa.mil/opencatalog/MEMEX.html
  20. "assaf/zombie". GitHub.
  21. http://www.envjs.com/doc/guides
  22. "JavaScriptMVC - EnvJS". javascriptmvc.com.
  23. "Zombie". labnotes.org.
  24. http://www.envjs.com/
  25. Laurent Jouanneau. "SlimerJS". slimerjs.org.
This article is issued from Wikipedia - version of the Wednesday, December 16, 2015. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.