REST API 면접용

서재환·2022년 5월 20일
0

면접준비

목록 보기
4/4

REST API

HTTP 통신에서 리소스에 대해 특정한 방법으로 요청하는 방식을 말한다. 이떄 REST 설계를 잘 지킨 API를
RESTful한 API라고 한다. REST API 특징과 설계 규칙을 알아보자

REST API 특징

균일성
자원에 대한 요청 방법이 정해져 있다. (GET POST PUT PATCH DELETE ...)

무상태
클라이언트는 api 설계에 맞게 요청을 보내야 한다. 서버는 클라이언트를 기억하지 못하고 오직 요청에 대해
응답 할 뿐이다.

캐싱
클라이언트는 응답을 캐싱할 수 있다.

계층화
서버는 중간서버가 될 수 있다.

REST API 설계 규칙

- 리소스에 대한 정보가 잘 나타나 있다.

- 리소스를 가져오기 위한 메서드가 있다.

- 슬래쉬로 계층이 잘 표현되어 있다.

- 밑줄 말고 하이픈을 사용한다.

- HTTP 응답 상태코드를 작성한다.

- 소문자로 구성되어 있다.

- URI는 파일 확장자를 포함하지 않는다.

  이렇게 위와 같은 특징들이 있다. 설계규칙에 대해서 살펴보았다. 이제 URI를 통해 자원을 표현하는 
  방식에 대해 학습하기로 하자.

URI && URL

URI
'자원 식별자'의 의미를 갖는다. 따라서 유일하다.

URL
자원이 있는 주소를 나타낸다.

결론부터 얘기하면 URI가 URL을 포함하는 개념이다. 즉 URL은 URI의 부분집합이다. URL인데 URI가 아닌 
것은 없다. 그렇다면 URL은 뭔가? 'http://localhost/resources/toy/1' 가 있다고 하자 URL에 해당
하는가라는 질문을 하면 된다. 또 결론은 아니다다. 결과적으로 학습한 케이스에 해당하는데 무슨말인가 하면
클라이언트가 보낸 자원은 'http://localhost/resources/toy'에 있는 것이다. 뒤의 1은 그 자원 중에서 
식별하기 위해 쓰는 것으로 생각하면 된다. URL의 정의가 자원의 주소라고 했던 것을 기억할 것이다. 주소는 
~toy까지이고 1은 주소라기 보다는 해당 주소에서 특정 자원을 찾기 위해 요청한 추가적인 데이터이다.

상상해보자 나는 'http://localhost/resources/toy' 해당 주소로 간다. 거기서 1이라는 카드를 넘겨서 
정보를 넘겨 받는 것이다. 즉 자원의 주소와 넘겨주려는 데이터를 구분해야 하는 부분이다.

0개의 댓글