하이드레이션
Hydration
서버에서 전달된 정적 HTML에 클라이언트 JS가 이벤트 리스너를 결합해 대화형 UI로 활성화하는 과정
정적 HTML 내에서 상호작용이 필요한 영역만 독립된 대화형 컴포넌트로 격리 렌더링하는 기법입니다. 정의와 상세 설명을 통해 기술적 원리를 이해하고, 비즈니스에 미치는 영향과 실무 적용 방법, 구현 시 고려할 주의사항을 관련 용어와 함께 확인하세요.
Islands Architecture
아일랜드 아키텍처는 페이지 전체를 하나의 거대한 앱으로 하이드레이션하는 대신, 검색창이나 캐러셀처럼 실제로 상호작용이 필요한 ‘섬(island)‘만 독립적으로 부트스트랩한다. 나머지 90% 이상의 정적 콘텐츠는 순수 HTML로 남아있어 초기 자바스크립트 실행 비용이 극적으로 줄어들고, 이는 Core Web Vitals 중 INP(상호작용 응답성) 개선에 직접적으로 기여한다. 다만 서로 다른 섬끼리 상태를 공유해야 할 때(예: 장바구니 개수 갱신) 프레임워크가 기본 제공하는 전역 상태 관리가 없으므로 nanostores 같은 경량 이벤트 버스를 별도로 도입해야 한다.
초기 자바스크립트 실행 비용을 획기적으로 줄여 TBT와 INP 성능을 비약적으로 개선
독립된 아일랜드 간 전역 상태 공유 시 경량 이벤트 버스 활용 권장
Hydration
서버에서 전달된 정적 HTML에 클라이언트 JS가 이벤트 리스너를 결합해 대화형 UI로 활성화하는 과정
Headless Content Management System
콘텐츠 관리 백엔드와 프론트엔드 UI를 분리하고 API를 통해 콘텐츠를 서빙하는 아키텍처
Decoupled Architecture
백엔드와 프론트엔드가 독립된 레이어로 분리되어 API로만 통신하는 소프트웨어 구조
JavaScript APIs and Markup
클라이언트 JS와 재사용 API 및 사전 빌드된 마크업으로 웹을 구성하는 아키텍처
Static Site Generation
빌드 타임에 모든 페이지의 HTML CSS JS를 미리 렌더링해 정적 파일로 생성하는 방식
Server-Side Rendering
요청이 들어올 때마다 서버에서 동적으로 HTML을 실시간 생성하여 브라우저에 전달하는 방식