Headless CMS란 무엇입니까? what-is-a-headless-cms
Headless 콘텐츠 관리는 콘텐츠 관리 시스템인 백엔드와 클라이언트측 애플리케이션인 프론트엔드를 분리하는 오늘날의 웹 디자인을 위한 주요 개발입니다. 따라서 Headless CMS는 (프론트엔드) 애플리케이션이 해당 콘텐츠에 액세스할 수 있도록 하는 메커니즘과 함께 (백엔드) 콘텐츠 관리 서비스를 담당합니다.
하지만 이 용어가 의미하는 바는 무엇일까요? 여기에서는 주요 개념에 대한 (매우 빠른) 소개를 제공합니다.
CMS(콘텐츠 관리 시스템)란? content-management-system
먼저 콘텐츠 관리 시스템의 기본 사항에 대해 알아보겠습니다.
CMS(콘텐츠 관리 시스템)는 온라인 경험을 제공하는 데 사용되는 콘텐츠를 저장하고, 관리하고, 전달합니다.
기존 CMS traditional-cms
일반적으로 CMS는 브라우저에 표시될 경험(프레젠테이션 레이어)에 대한 마크업을 렌더링하는 데 사용되는 프론트엔드 기술과 함께 콘텐츠 저장 및 전달을 위한 백엔드 기능을 모두 포함했습니다.
이는 매우 강력하여 콘텐츠와 서식을 완벽하게 제어할 수 있었지만, 외부 앱과 상호 작용할 때와 같이 오늘날의 급변하는 환경에 필요한 유연성 중 일부를 포함하지는 못했습니다.
Headless CMS headless-cms
이제 Headless 콘텐츠 관리 시스템을 통해 백엔드와 프론트엔드가 분리됩니다.
Headless 콘텐츠 관리 시스템(CMS)은 철저하게 콘텐츠 저장소로 설계 및 구축된 백엔드 전용 콘텐츠 관리 시스템으로, API를 통해 콘텐츠에 액세스하여 이를 모든 디바이스에 표시할 수 있도록 하므로 Headless 부분은 콘텐츠 백엔드입니다.
독립적으로 개발 및 유지 관리되는 프론트엔드는 일반적으로 JSON 형식인 콘텐츠 배달 API를 사용하여 Headless 백엔드의 콘텐츠를 가져옵니다. 예를 들어 React 또는 Angular 애플리케이션(SPA(단일 페이지 애플리케이션))일 수 있습니다.
Headless CMS 백엔드는 일반적으로 모델 또는 스키마를 기반으로 콘텐츠를 구조화해야 합니다. 이렇게 하면 클라이언트 애플리케이션이 경험 렌더링에 필요한 올바른 콘텐츠를 용이하게 요청할 수 있습니다. 일부 CMS는 구조화된 콘텐츠 및 구조화되지 않은 콘텐츠를 JSON 형식으로 노출할 수 있습니다.
이 구조의 주요 특징은 Headless CMS에서 JSON 형식으로 제공하는 콘텐츠가 디자인이나 레이아웃 정보를 포함하지 않는 순수한 콘텐츠라는 점입니다. Headless CMS 구현에서는 모든 서식 및 레이아웃이 분리된 프론트엔드 애플리케이션에 의해 유지 관리됩니다.
Headless CMS 구조의 주요 이점은 여러 채널에 걸쳐 콘텐츠를 재사용할 수 있다는 점이며, 이를 통해 서로 다른 클라이언트측 프론트엔드 구현을 사용할 수 있습니다. 따라서 프론트엔드 개발 프로세스를 보다 효율적으로 수행할 수 있습니다. 그러나 이는 프론트엔드 경험 개발 프로세스가 매우 코드화되고 IT 중심적으로 변화할 수 있으며, 본질적으로 IT가 경험을 지배하게 될 수 있음을 의미하기도 합니다.
콘텐츠 배달 API content-delivery-apis
Headless CMS는 클라이언트측 애플리케이션에 콘텐츠를 노출하는 하나 이상의 방법을 제공할 수 있습니다. 가장 일반적인 방법으로는 HTTP REST API, GraphQL API 또는 두 가지 모두를 사용할 수 있습니다.
REST API는 종종 콘텐츠를 요청하기는 더 쉬운 방법으로 보일 수 있지만(예: 기준에 일치하는 모든 콘텐츠에 JSON을 제공함으로써), 이러한 REST API는 일반적으로 클라이언트 애플리케이션에 너무 많은 콘텐츠를 전달합니다. 이렇게 하면 클라이언트가 렌더링에 실제로 필요한 콘텐츠를 구문 분석하고 필터링해야 할 수 있습니다.
반대로 GraphQL은 클라이언트 애플리케이션이 경험을 렌더링하는 데 필요한 콘텐츠를 정확히 쿼리할 수 있도록 하는 데 중점을 둔 메커니즘입니다.
전체 스택 CMS fullstack-cms
전체 스택 CMS는 일반적으로 경험 렌더링에 필요한 콘텐츠 백엔드 및 프론트엔드 기술을 포함하여 콘텐츠 관리 및 전달에 대한 기존 구조를 나타냅니다. 전체 스택 CMS의 콘텐츠 전달은 일반적으로 내부 콘텐츠 배달 API에서 발생합니다. 프론트엔드 기능은 일반적으로 전체 스택 CMS와 관련되어 있습니다. 콘텐츠 백엔드와 프론트엔드 기술 결합의 주요 이점은 WYSIWYG(보이는 그대로) 경험을 작성할 수 있다는 점입니다.
하이브리드 CMS hybrid-cms
전체 스택 CMS가 진화된 최신 버전을 하이브리드 CMS라고 할 수 있습니다. 목표는 두 세계의 장점을 결합하는 것입니다.
- 즉, 최신 프론트엔드 도구를 사용하여 채널에 걸친 효율적인 프론트엔드를 개발함과 동시에,
- 기술 전문가가 아닌 사용자도 활용할 수 있도록 WYSIWYG 경험 작성을 그대로 유지하면서 조직 간 콘텐츠 및 경험 관리에서 IT가 장애물이 되지 않도록 하는 것입니다.
이는 React와 같은 최신 프론트엔드 프레임워크를 수용하지만 콘텐츠 백엔드와의 결합에 필요한 최소 요구 사항을 유지함으로써 달성할 수 있습니다.
분리된 CMS decoupled-cms
분리된 CMS라는 용어는 때때로 독립적으로 사용되지만, 이는 기본적으로 클라이언트측 프론트엔드 애플리케이션에서 분리되는 주요 특성을 강조함으로써 Headless CMS 백엔드를 설명합니다.
Headful CMS headful-cms
이는 기존 CMS의 또 다른 용어입니다.
추가 참조 further-reading
Headless CMS 구조에서의 AEM 사용에 대한 자세한 내용은 다음 위치에서 확인할 수 있습니다.