데브허브 | DEVHUB | Astro's early bet on the serverAstro's early bet on the server
- Astro는 클라이언트와 서버 렌더링의 균형을 추구하며, 기본적으로 클라이언트 측 JavaScript가 없는 정적 HTML을 제공합니다. ⚖️
- 클라이언트 측 JavaScript는
<script> 태그나 client: 지시문(예: client:visible로 뷰포트 진입 시 로드)을 사용하는 '아일랜드' 방식을 통해 명시적으로 추가할 수 있습니다. 🏝️
- 동적 데이터 처리 및 POST 요청을 위해서는 SSR 어댑터가 필요하며, 서버가 요청 시 HTML을 동적으로 생성합니다. ⚙️
- SSR 어댑터를 통해 개별 페이지를 동적으로 렌더링(
prerender: false)하거나, API 엔드포인트(GET/POST)를 생성할 수 있습니다. 📡
- '액션'은 폼 데이터 처리 및 타입 안전성을 제공하는 특수화된 POST 엔드포인트입니다. 🛡️
- '서버 아일랜드'(
server:defer)는 정적 페이지 내에서 서버가 동적으로 생성한 HTML 조각을 스트리밍하여 삽입함으로써, 페이지 전체를 동적으로 만들지 않고도 특정 부분만 업데이트할 수 있게 합니다. 🌊
- 이 외에도 세션, 쿠키 처리, 증분 정적 재생성(ISR) 등 다양한 고급 서버 기능을 활용할 수 있습니다. 🚀