📋 REST(REpresentational State Transfer)
자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 것
- HTTP URI를 통해 자원을 명시하고
- HTTP Method(GET, POST, PUT, DELETE)를 통해
- 해당 자원(URI)에 대한 CRUD Operation을 적용하는 것을 의미한다.
📔 REST의 구성
- 자원(Resource) - URI
- 행위(Verb) - HTTP METHOD(GET, PUT, POST, DELETE 등)
- 표현(Representations)
📔 REST의 특징
- Uniform(유니폼 인터페이스) :
- 미리 정의되어 있고, 공유된 방법으로 정보가 교환됨
- HTTP표준 프로토콜에 따르는 모든 플랫폼에서 사용가능
- 주소 가능성: 모든 정보가 하나의 URL 구문으로 표시됨
- 연결성 : 거래되는 정보에는 링크를 포함할 수 있다
- Stateless(무상태):
- 교환은 1회마다 완결되며, 앞서의 교환 결과에 영향을 받지 않는다
- Server의 처리 방식에 일관성을 부여하고 부담이 줄어들고, 서비스의 자유도가 높아진다.
- Server-Client(서버-클라이언트 구조)
- Cacheable(캐쉬 처리 가능)
- Layered System(계층화)
📋 REST API란?
REST 기반으로 서비스 API를 구현하는 것
📔 REST API 설계
- URI는 동사보다는 명사를 사용한다
- URI는 대문자보다는 소문자를 사용한다
- 마지막에 슬래시 (/)를 포함하지 않는다
- 언더바(_) 대신에 하이픈(-)을 사용한다
- 파일확장자는 URI에 포함하지 않는다
- 행위를 포함하지 않는다
📋 RESTful(REpresentational State Transfer)
[참조1]일본책
4가지 원칙으로 이루어진 심플한 설계를 가리키고 REST의 원칙에 따라 설계된 시스템(웹의 장점을 최대한 활용할 수 있는 아키텍처)
많은 웹 어플리케이션이 RESTful이 되도록 설계되어 있다
[참조2] 위키백과
REST는 월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식이다. 이 용어는 로이 필딩의 2000년 박사학위 논문에서 소개되었다. 필딩은 HTTP의 주요 저자 중 한 사람이다. 이 개념은 네트워킹 문화에 널리 퍼졌다.
REST의 원칙