REST(REpresentational State Transfer)
는 HTTP의 장점을 최대한 활용할 수 있는 아키텍쳐로 소개되었다.
REST의 기본 원칙을 성실히 지킨 서비스를 RESTful
이라고 표현한다.
REST는 HTTP를 기반으로 클라이언트가 서버의 리소스에 접근하는 방식을 규정한 아키텍처
REST API는 REST를 기반으로 서비스 API를 구현한 것을 의미한다.
자원(resource), 행위(verb), 표현(representations)
REST는 자체 표현 구조 (self-descriptiveness)로 구성되어 REST API만으로 HTTP 요청의 내용을 이애할 수 있다.
구성요소 | 내용 | 표현 방법 |
---|---|---|
자원(resource) | 자원 | URI |
행위(verb) | 자원에 대한 행위 | HTTP 요청 메서드 |
표현(representations) | 자원에 대한 행위의 구체적 내용 | 페이로드 |
payload란?
가장 중요한 원칙은 URI는 리소스를 표현해야 하며, 행위에 대한 정의는 HTTP 요청 메서드를 통해 하는 것이다.
리소스를 식별할 수 있는 이름은 명사를 사용하는 것이다 좋다.
행위를 표현하지 않고, 리소스를 표현하도록 해야 한다.
잘못된 이름 예시
올바른 이름 예시
주로 GET, POST, PUT, DELETE, PATCH 5가지 HTTP request method를 이용하여 CRUD를 구현한다.
CRUD : Create, Read, Update, Delete
modern javascript deep dive