Generally "headless" means there is no graphic user interface for a piece of software.

To understand what a "headless" CMS is you have to understand that, historically speaking, a CMS does more than just "Manage Content."

There is often a "admin side" or "back side" of the CMS you use to enter data and files into the CMS. Some even let you define specific kinds of content; for example, "Blog Post." Blog posts have text and images and maybe other things like tags or categories.

Then the CMS has a public-facing "front side" that most visitors to a website see. This is generated by some kind of "theme" layer or "template" layer that the CMS provides. It takes the text and images and categories and generates the HTML to make the Blog Post display in a browser.

Headless is when you strip away that "front side" layer from the CMS. The CMS isn't generating a whole website anymore, it has been boiled down to just holding the content. It's up to another piece of software to do something with the data in the CMS.

As to your second question; I don't know if you would. Probably wouldn't want to; it depends a lot on what you want to accomplish!

 

This the best explanation of a Headless CMS that i have across on the internet. The web development industry suffers from this curse where even the most simple things are made to be too complicated just by how they are defined or described.

 

Headless CMS is a CMS that has no frontent, therefore you decouple the creation of content from the representation.

This opens up that you can change your representation technology easier.
They often use some sort of API to make the content that was created with the CMS available.

I hope this short explanation helps!

Classic DEV Post from Jul 28 '18

What Defines a "Junior" Developer? πŸ€·πŸ»β€β™€οΈ

How do you define a β€œJunior” Developer? Is it by the amount of experience they ...

Back-end & DevOps.
Join dev.to

Be a better developer. Free forever.