A headless browser is a web browser without any GUI(Graphical User Interface).
Headless browsers can provide control of a web page in an environment similar to the popular web browser, but widely executed using CLI (Command Line Interface) or over the network communication, hence allowing automation. They are widely used for test automation of web applications. It will render HTML including page layout, color, font selection and execution, etc. same as real browser. Since they do not have GUI, rendering will be very fast and consume less memory.
The PhantomJS (
http://phantomjs.org/) is one of the widely used headless browser while automation using selenium.
Hope that helps!