서버와 클라이언트 컴포넌트는 책임이 다르다

서버는 데이터와 보안을, 클라이언트는 이벤트와 브라우저 상태를 맡는다.

Server DB fetch, secret, 초기 HTML
Client state, event, 브라우저 상호작용
Boundary props only, 직렬화 가능한 값
Risk bundle 증가와 secret 노출
작업 서버 클라이언트
데이터 조회 권장 토큰 노출 주의
버튼/입력 불가 권장
공유 상태 props 전달 useState/useEffect
핵심

경계는 성능 최적화이면서 비밀값과 사용자 상호작용을 분리하는 설계 기준이다.