API Routes / Server Actions 특성¶
Next.js는 API Routes와 Server Actions를 통해
프론트엔드와 서버 로직을 단일 프로젝트 안에 공존시킬 수 있다.
그러나 이는 편의성의 대가로
운영 경계와 보안 경계가 흐려질 수 있는 구조이기도 하다.
1. API Routes¶
pages/api/*또는app/api/*경로 기준- HTTP 요청/응답 기반 서버 사이드 코드
- Next.js 라우팅·빌드·배포 모델에 종속됨
운영 특성¶
- Express API 서버와 달리:
- 독립 프로세스 아님
- Next.js 배포 모드(Node/Serverless)에 따라 동작 방식 변경
- 프레임워크 업데이트/설정 변경의 영향 직접 수용
2. Server Actions¶
- App Router 전용 기능
- 클라이언트 컴포넌트에서 직접 호출 가능한 서버 코드
- 네트워크 요청이 코드상에서 명시적으로 드러나지 않음
운영 특성¶
- 인증·권한 검증 누락 위험
- 호출 경로가 추상화되어:
- 트래픽 분석
- 장애 추적
이 어려워질 수 있음
- 서버 부하가 UI 동작과 밀접하게 연결됨
3. 운영 리스크 비교¶
| 항목 | API Routes | Server Actions |
|---|---|---|
| 호출 방식 | 명시적 HTTP | 암묵적 |
| 경계 인식 | 비교적 명확 | 불명확 |
| 보안 통제 | 미들웨어 기반 | 명시적 구현 필요 |
| 운영 추적 | 용이 | 어려움 |
4. 운영 기준 (Baseline)¶
- API Routes를:
- 독립적인 Express API 서버처럼 가정하지 않는다
- Server Actions 사용 시:
- 인증/인가 로직을 반드시 명시적으로 구현한다
- 외부 입력을 신뢰하지 않는다
- 중요한 비즈니스 로직은:
- 호출 경계가 명확한 구조로 분리하는 것을 검토한다
5. 운영 체크리스트¶
- API Routes 사용 범위 정의
- Server Actions에 인증/권한 검증 존재 여부 확인
- 배포 모드(Node/Serverless)에 따른 동작 차이 검토
- 장애/로그 추적 전략 수립