REST란
소프트웨어 아키텍처 스타일로,
자원을 정의하고 이를 HTTP를 통해
처리하는 방식을 규정한다.
핵심 개념으로는
자원(Resource)
모든 데이터
사용자, 게시글, 상품 등은 고유한 URI 로 표현이 된다.
REST의 특징으로는
HTTP 메서드: 자원에 대한 작업을 HTTP 메서드로 표현 (CRUD 작업과 매핑됨).
GET : 데이터 조회,
POST : 데이터 생성,
PUT 또는 PATCH 데이터 수정,
(Update)
DELETE : 데이터 삭제
HTTP 메서드:
HTTP 메서드는 클라이언트가 서버에 요청할 작업의 종류를 지정하는 데 사용된다.
GET: 서버에서 데이터를 조회한다.
POST: 서버에 새로운 데이터를 생성
PUT: 서버에 있는 자원을 완전히 대체하거나 수정한다.
PATCH: 서버에 있는 자원을 부분적으로 수정한다.
DELETE : 서버에서 자원을 삭제한다.
HEAD: 서버에서 자원의 메타데이터 조회한다.
GET과 유사하지만 응답 본문이 없다.
OPTIONS: 서버가 지원하는 HTTP 메서드 확인:
특징:
- 특정 URL에서 사용할 수 있는 메서드 목록 반환
TRACE
특징:
- 클라이언트가 보낸 요청을 그대로 반환.
Stateless(무상태성):
서버는 클라이언트의 상태를 유지하지 않으며, 각 요청은 독립적이어야 한다.
REST API :
REST의 원칙을 준수하여 설계된 애플리케이션 프로그래밍 인터페이스이다
- REST API의 구성 요소:
- URI: 자원을 나타내는 고유한 경로.
- HTTP 메서드: 자원에 대한 작업을 나타냄.
- 헤더(Header): 요청과 응답에 대한 부가 정보.
- 본문(Body): 요청이나 응답에 포함되는 데이터(JSON, XML 등).
- REST API의 장점:
- 단순하고 직관적인 구조로 학습이 쉬움.
- HTTP 표준을 사용하므로 다양한 클라이언트와 호환 가능.
- 확장성과 유지보수가 용이
REST API는 REST를 따르며, 클라이언트와 서버간 요청과 응답을 처리한다.
RESTful
REST의 원칙을 충실히 따르는 서비스나 애플리케이션을 설명하는 용어이다