그알것 — 그럼에도 알아야 할 것들
홈질문커뮤니티
로그인
그알것 — 그럼에도 알아야 할 것들

Service

  • 홈
  • 소개
  • 질문
  • 커뮤니티

My

  • 내 워크스페이스
  • 저장한 질문
  • 작성한 답변

Policy

  • 이용약관
  • 개인정보처리방침
  • 문의

© 2026 그알것 · What Still Matters

질문 목록DataFetching
DataFetching

Server Action이란 무엇인가요?

실무4/5
설계3/5
인간3/5
기초2/5

면접관의 질문 의도

Server Action을 단순 "서버에서 도는 편한 함수"로만 이해하는지, 아니면 클라이언트가 호출하는 RPC라는 동작 원리와 그에 따른 보안·검증 책임까지 함께 잡고 있는지를 가른다.

큐레이션 답변

학습 자료

Server Action은 함수 본문이나 파일 상단에 'use server'를 붙여 서버에서만 실행되도록 표시한 함수다. Next.js는 이 함수를 빌드 시점에 내부 엔드포인트로 등록해두고, 클라이언트가 그 함수를 import해서 호출하면 사실은 폼 제출이나 fetch로 서버를 때려 해당 함수를 실행한 뒤 결과를 돌려주는 RPC처럼 동작한다. 덕분에 API Route를 따로 만들지 않고 변경 작업(create/update/delete, revalidate)을 짧게 처리할 수 있고, 서버 코드가 클라이언트 번들에 새지 않으며, <form action={...}>에 직접 연결해 JS 로딩 전에도 동작한다는 이점이 있다. 단, 결국 외부에서 호출 가능한 엔드포인트이므로 권한·입력 검증은 그대로 책임져야 한다.

좋은 답변 구조

  1. 01Server Action이 무엇이고 어디서 실행되는지 정의한다
  2. 02`'use server'` 선언이 클라이언트 호출을 내부 엔드포인트로 묶는 동작 원리를 짧게 설명한다
  3. 03API Route와 비교해 어떤 이득(번들 분리, 폼 직접 연결, 코드 단순화)이 있는지 정리한다
  4. 04외부 호출 가능한 경계라는 점에서 권한·검증 책임이 어디 있는지 결론으로 마무리한다

자주 실수하는 포인트

Server Action을 클라이언트에서 일반 함수처럼 직접 실행되는 코드로 오해한다
`'use server'`만 붙이면 외부에서 호출 불가능하다고 생각하고 권한 검증을 빠뜨린다
모든 데이터 fetching까지 Server Action으로 옮겨도 된다고 단정한다(읽기는 Server Component/route handler가 더 맞는 경우가 많다)
에러를 try/catch로만 잡고 클라이언트로 어떤 형태로 전달할지 설계하지 않는다

실무 맥락

  • App Router 기반 폼에서 생성·수정·삭제 같은 변경 작업을 처리하면서 즉시 `revalidatePath`/`revalidateTag`로 캐시를 무효화해야 하는 화면
  • 낙관적 UI(`useOptimistic`)로 즉시 반영하면서도 서버 진실값과 맞춰야 하는 좋아요·팔로우 같은 인터랙션
  • 관리자 권한이 필요한 변경 작업처럼 호출자 신원과 권한을 매 요청 검증해야 하는 보안 민감 환경

본인 경험에 녹이는 힌트

API Route로 만들었던 변경 엔드포인트를 Server Action으로 옮겨본 경험이 있다면 코드 경로가 어떻게 단순해졌는지 그대로 답변에 풀 수 있다

Server Action에 zod 같은 스키마 검증과 권한 체크를 묶어 둔 경험이 있다면 "외부 호출 가능 경계" 이야기와 연결할 수 있다

낙관적 UI를 Server Action과 함께 써서 실패 시 롤백을 설계해본 적이 있다면 에러 처리 흐름에 그대로 가져갈 수 있다

커뮤니티 인기 답변

전체 0개

아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.

관련 꼬리 질문

Q1Server Action과 API Route는 어떤 기준으로 나눠 쓰나요
Q2Server Action에서 에러를 클라이언트에 어떻게 전달하고 사용자에게 어떻게 보여주나요
Q3낙관적 UI(`useOptimistic`)와 함께 쓸 때 주의해야 할 점은 무엇인가요
Q4Server Action은 외부에서 어떻게 호출 가능하며, 이를 보호하려면 어떤 검증이 필요한가요
아직 답을 쓰지 않았어요.
큐레이션 답변과 다른 사람 답변을 보고, 자기 언어로 답을 정리해보면 학습 효과가 가장 큽니다.
목차
  • 01면접관의 질문 의도
  • 02큐레이션 답변
  • 03좋은 답변 구조
  • 04자주 실수하는 포인트
  • 05실무 맥락
  • 06본인 경험에 녹이는 힌트
  • 07커뮤니티 인기 답변준비중
  • 08관련 꼬리 질문