REST
- REpresentational State Transfer의 준말로, API 작동 방식에 대한 조건을 부과하는 소프트웨어 아키텍쳐이다.
- 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고받는 모든 것을 의미한다.
- 월드 와이드 웹(WWW)과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍쳐의 한 형식이다.
구체적인 개념은 아래와 같다.
HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)를 명시하고
HTTP Method(POST, GET, PUT, DELETE)를 통해
해당 자원에 CRUD Operation을 적용하는 것을 의미한다.
CRUD Operation
대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능( Create(생성), Read(읽기), Update(갱신), Delete(삭제) )을 묶어서 일컫는 말이다.
REST에서 CRUD는 각각 아래와 같이 의미된다.
CRUD | REST | |
데이터 생성 | Create | POST |
데이터 조회 | Read | GET |
데이터 수정 | Update | PUT, PATCH |
데이터 삭제 | Delete | DELETE |
REST의 구성 요소
1. 자원(Resource) - HTTP URI
- 모든 자원에는 고유한 ID가 존재하고, 이 자원은 Server에 존재한다.
- HTTP처럼 URI를 사용해 자원을 구별한다.
2. 행위(Verb) - HTTP Method
- HTTP Protocol의 Method를 사용한다.
3. 표현(Representations) - HTTP Message Pay Load
- Client가 자원의 상태(정보)에 대한 조작을 요청하면 Server는 이에 적절한 응답(Representations)를 보낸다.
- JSON, XML, TEXT, RSS 등 여러 형태의 Representations로 나타낼 수 있다.
REST의 제한 사항
- Client-Server
- Uniform Interface
- Stateless
- Layered System
- Cache
- Code on demand
REST에 대한 제한 사항은 다음 포스트에서 다뤄보도록 하겠다.
'IT 용어' 카테고리의 다른 글
WEB (0) | 2024.04.25 |
---|---|
프레임워크와 라이브러리 (0) | 2024.04.25 |
REST의 제약 조건 / 특징 (0) | 2024.04.24 |