What does “headless” mean?

限于喜欢 提交于 2019-11-29 21:11:24

"Headless" in this context simply means without a graphical display. (i.e.: Console based.)

Many servers are "headless" and are administered over SSH for example.

You most likely know what a browser is. Now take away the GUI, and you have what’s called a headless browser. Headless browsers can do all of the same things that normal browsers do, but faster. They’re great for automating and testing web pages programmatically.

Headless means that the application is running without a graphical user interface (GUI) and sometimes without user interface at all.

There are similar termes for this, which are used in slightly different context and usage. Here are some examples.

Headless / Ghost / Phantom

This term is rather used for heavy weight clients. The idea is to run a client in a non-graphical mode, with a command line for example. The client will then run until it's task is finished or will interact with the user through a prompt.

Eclipse for instance can be run in headless mode. This mode comes in handy when it comes to running jobs in background, or in a build factory.

For example, you can run Eclipse in graphic mode to install plugins. This is OK if you just do it for yourself. However, if you're packaging Eclipse to be used by the devs of a large company and want to keep up with all the updates, you probably want to find a more reproducible, automatic easier way.

That's when the headless mode comes in: you may run Eclipse in command line with parameters that indicate which plugins to install.

The nice thing about this method is that it can be integrated in a build factory!

Faceless

This term is rather used for larger scale application. It's been coined in by UX designers. A faceless app interacts with users in a maner that is traditionnaly dedicated to human users, like mails, SMS, phone... but NOT a GUI.

For example, some companies use SMS as an entry point to dialog with users: the user sends a SMS containing a request to a certain number. This triggers automated services to run and reply to the user.

It's a nice user experience, because one can do some errands from one's telephone. You don't necessarily need to have an internet connection, and the interraction with the app is assynchronious.

On the back-end side, the service can decide that it does not understand the user's request and get out of the automated mode. The user enters then in an interractive mode with a human operator without changing his communication tool.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!