Sitecore Headless Development conceptual overview
Sitecore Headless Development is based on a rendering host front end and a Sitecore instance back end. This decoupling of logic domains makes a Sitecore solution easy to develop, maintain, scale, and upgrade.
The front end and the back end
In a headless system, the front end and back end are separate infrastructures that communicate using endpoints.
The rendering host and the Sitecore instance also have different data domains:
-
The front end contains your website code and static resources.
-
The back end contains your content items.
Headless systems deliver web pages to visitors differently than coupled systems where the back end and the front end are combined.
Sitecore Headless Development functions in the following way:
-
The rendering host translates a visitor request to a content item in the Sitecore instance.
-
The Sitecore instance using Sitecore Headless Services returns the content item and the associated presentation details, and so on, to the rendering host.
-
The rendering host renders the content item for the visitor.
The rendering host
The rendering host front end is a web app made up of the Sitecore ASP.NET Rendering SDK and your code and static resources. The job of the rendering host is to respond to visitor requests.
The rendering host functions in the following way:
-
The visitor sends a request to the web server, which activates the rendering host web app.
-
The Layout Service Client fetches the relevant content and presentation data (the data model) from the Sitecore Headless Services.
-
The Layout Service Client passes the data model to the Rendering Engine.
-
The Sitecore Rendering Engine renders the data model and your code and static resources into the final response and returns it to the visitor.
The Sitecore instance
The Sitecore instance exposes a set of endpoints available to front ends such as:
-
Web-based or native rendering hosts
-
Integrations to third-party systems