brunch

You can make anything
by writing

C.S.Lewis

by 만두찌부 집사 Jun 27. 2021

Rest api

#면접 기초

 1년 차 개발자가 면접을 볼 때 단골 질문으로 나오는 것이 있다.


 'Rest api가 뭔가요?'


 Rest를 간단히 나타내자면, 자원을 uri로 표시하고 해당 자원의 상태를 주고받는 것이라 할 수 있다.


 Rest는 자원(uri), 행위(http method), 표현으로 이루어져 있다. 즉, uri를 통해 자원을 표시하고 http method를 이용해 해당 자원의 행위를 정해주며 그 결과를 받는다.


 Rest의 특징으로는,

- Uniform Interface: http 표준만 따른다면 어떤 언어, 어떤 플랫폼에서도 사용 가능한 인터페이스 스타일이다. ios, android 등 플랫폼과 상관없이 사용 가능하다.

- Stateless: Rest는 상태 정보를 유지하지 않는다. 서버는 각각의 요청을 다른 것으로 인식하고 처리한다.

- Cacheable: http가 가진 캐싱 기능 적용이 가능하다.

- Self-descriptiveness: Rest api 메세지만 보고도 이해가 가능하도록 쉬운 자체 표현 구조로 되어있다.

- Client-Server: Rest 서버는 api를 제공하고 클라이언트는 사용자 인증에 관련된 일들을 직접 관리한다. 자원이 있는 쪽을 Server라 하고 자원을 요청하는 쪽이 클라이언트가 된다. 서로 간의 의존성이 줄어들기 때문에 역할이 확실히 구분되어 개발해야 할 내용들이 명확해진다.

- Layered System: 클라이언트는 Rest api서버만 호출한다. Rest 서버는 다중 계층으로 구성될 수 있으며 로드 밸런싱, 암호화, 사용자 인증 등을 추가해 구조상의 유연성을 둘 수 있다.


 따라서 Rest api는 이러한 Rest 기반의 규칙들을 지켜서 설계된 api를 뜻한다.


 대충 이 정도로 정리해 볼 수 있겠다.

keyword
매거진의 이전글 http와 https
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari