REST API
REST의 특징을 기반으로 제공하는 API
REST가 뭔데?
Representional State Transfer의 약자
분산 하이퍼미디어 시스템을 위한 아키텍쳐 스타일(제약조건의 집합)
웹에 존재하는 모든 자원에 고유한 URI를 부여해 자원을 정의
HTTP메소드를 통해 CRUD 연산을 수행 => GET, POST, DELETE, PUT, PATCH
즉, 특정 제약조건의 집합을 따라 설계하면 REST API라고 할 수 있다
REST의 6가지 규칙
- client-server
- stateless
- cache
- uniform interface
- self-descripive message
- HATEOAS
- layered system
- code-on-demand
RESTful하게 만든 API는 요청을 보낸 주소만으로 대략 무슨 요청인지 파악 가능
REST API랑 RESTful API는 뭐가 다른건데?
RESTful이라는 의미가 REST의 6가지 설계 규칙을 잘 지켜서 설계되었음을 지칭
즉, REST의 원리를 잘 따르는 시스템
RESTful API는 설계규칙을 잘 지켜서 설계된 API를 의미
성능만 중요하다면 반드시 RESTful 하게 구현할 필요가 있을까?
URI Uniform Resource Identifier, 인터넷 상의 자원 자체를 식별하는 고유한 문자열 시퀀스
CURD Create, Read, Update, Delete
무상태성 서버가 클라이언트의 상태를 보존하지 않는 특징
캐시 일시적인 특징이 있는 고속 데이터 스토리지
계층 구조 클라이언트와 서버가 분리되어 있음
인터페이스 일관성 모든 플랫폼에서 사용 가능
자체표현 요청 메세지만 보고도 내용을 직관적으로 이해가능
HATEOAS 애플리케이션의 상태는 Hyperlink를 이용해 전이되어야 한다는 uniform interface의 제약조건
'FE Study' 카테고리의 다른 글
| [FE] Vue vs React (0) | 2024.01.07 |
|---|---|
| [FE] 세션, 쿠키와 로컬 스토리 (1) | 2024.01.07 |
| [FE] JS 문법 (2) | 2023.12.03 |
| 서버/클라이언트 (0) | 2023.12.02 |
| [FE] JS 언어적 특징 (동기, 비동기 처리) (1) | 2023.12.01 |