REST(REpresnetational State Transfer)
- HTTP 기반으로 클라이언트가 서버의 리소스에 접근하는 방식을 규정한 아키텍쳐.
- HTTP 프로토콜을 의도에 맞게 디자인 하도록 유도.
- REST의 기본 원칙을 성실히 지킨 서비스디자인 = 'RESTFul'
- REST API : REST를 기반으로 서비스 API를 구현한 것.
REST API 구성
-> 자원 (resource), 행위 (verb), 표현 (representations)
REST는 자체 표현 구조(self-de-scriptiveness)로 구성되어 REST API만으로 HTTP 요청의 내용 이해할 수 있음.
REST API 설계 원칙
1) URL은 리소스를 표현
- URL은 리소스 표현하는 데 중점을 두어야 함.
- 리소스 식별할 수 있는 이름은 명사 사용 -> 이름에 get같은 행위에 대한 표현 x
GET / todos / 1 ( o )
GET / getTodos / 1 ( x )
2) 리소스에 대한 행위는 HTTP 요청 메서드로 표현
- HTTP 요청 메서드 : 클라이언트가 서버에게 요청의 종류와 목적(리소스에 대한 행위) 알리는 방법.
- 주로 5가지 요청 메서드(GET, POST, PUT, PATCH, DELETE) 사용하여 CRUD 구현.
- 리소스에 대한 행위는 HTTP 요청 메서드를 통해 표현. ( URL로 표현 x )
- 리소스 취득한 경우에는 GET, 리소스 삭제하는 경우에는 DELETE사용해서 리소스에 대한 행위 명확히 표현.
DELETE / todos / 1 ( o )
DELETE / todos / delete / 1 ( x )
학습 자료 : 모던 자바스크립트 Deep Dive - 이웅모