패스잇
CS 기초 · 중급

REST API 설계 원칙과 RESTful하다는 것의 의미에 대해 설명해주세요.

힌트 · 자원, 표현, 상태 전이의 관점에서 설명해보세요.

Uniform InterfaceStatelessCacheableSelf-Descriptive MessagesHATEOAS

모범답안

REST API 설계 원칙은 네트워크 기반 분산 시스템을 구축하기 위한 아키텍처 스타일입니다. RESTful하다는 것은 이러한 원칙을 잘 준수하여 설계된 API를 의미합니다.

핵심 원칙으로는 먼저 Uniform Interface가 있습니다. 이는 자원을 식별하는 URI, 자원 표현 방식, 그리고 자원 상태 변경을 위한 표준화된 인터페이스(GET, POST, PUT, DELETE 등)를 통해 시스템 복잡도를 줄이는 것을 목표로 합니다.

두 번째로 Stateless는 서버가 클라이언트의 상태를 저장하지 않는다는 것입니다. 각 요청은 필요한 모든 정보를 포함해야 하며, 서버는 이를 독립적으로 처리합니다.

세 번째는 Cacheable입니다. 응답은 캐싱 가능해야 하며, 이를 통해 성능을 향상시킬 수 있습니다.

네 번째는 Self-Descriptive Messages입니다. 메시지 자체에 충분한 정보가 담겨 있어, 메시지를 받는 쪽에서 추가적인 정보 없이도 메시지를 해석할 수 있어야 합니다.

마지막으로 **HATEOAS (Hypermedia as the Engine of Application State)**는 서버가 클라이언트에게 다음 상태 전이에 필요한 링크를 제공하여, 클라이언트가 API에 대한 사전 지식 없이도 동적으로 상호작용할 수 있도록 합니다. 예를 들어, 응답에 다음 액션을 수행할 수 있는 URI를 포함시키는 것입니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 네트워크 면접 질문

← 네트워크 면접 질문 전체 보기