Headless browser

Google stated in 2009 that using a headless browser could help their search engine index content from websites that use Ajax.

While most are able to support common browser features (HTML parsing, cookies, XHR, some JavaScript, etc.

They usually perform faster than full browsers, but are unable to correctly interpret many popular websites.

HtmlUnit uses the Rhino engine to provide JavaScript and Ajax support as well as partial rendering capability.

Another noted earlier effort was envjs in 2008 from John Resig, which was a simulated browser environment written in JavaScript for the Rhino engine.