REST API (Representational State Transfer API)
REST API란 REST를 기반으로 만들어진 API를 의미한다.
REST?
- REST는 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든 것을 의미
- HTTP URI(Unifrom Resource Identifier)를 통해 자원을 명시하고,
- HTTP Method(POST, GET, PUT, DELETE)를 통해
- 해당 자원(URI)에 대한 CRUD Operation을 적용하는 것을 의미한다.
REST의 구성 요소
- 자원 : HTTP URI
- 자원에 대한 행위(verb) : HTTP Method
- 자원에 대한 행위의 내용 (Representation) : HTTP Message Pay Load
REST의 특징
- 서버 - 클라이언트 구조
- 무상태
- 캐시처리기능
- 계층화
- 인터페이스의 일관성
REST의 장단점
👉장점
- HTTP 프로토콜 인프라를 그대로 사용하므로 REST API 사용을 위한 별도의 인프라를 구축할 필요 X
- HTTP 프로토콜의 표준을 최대한 활용하여 여러 추가적인 장점을 함께 가져갈 수 있다.
- HTTP 표준 프로토콜에 따르는 모든 플랫폼에서 사용 가능
- REST API 메세지가 의도하는 바를 명확하게 나타내므로 의도하는 바를 쉽게 파악 가능
- 여러가지 서비스 디자인에서 생길 수 있는 문제를 최소화
- 서버와 클라이언트의 역할을 명확하게 분리
👉단점
- 표준이 자체가 존재하지 않아 정의가 필요
- 사용할 수 있는 메소드가 4가지 밖에 없다
- HTTP Method 형태가 제한적이다.
- 브라우저를 통해 테스트할 일이 많은 서비스라면 쉽게 고칠 수 있는 URI 보다 Header 정보의 값을 처리해야 하므로 전문성이 요구된다.
- 구형 브라우저에서 호환이 되지 않아 지원해주지 못하는 동작이 많다.
REST API?
REST의 원리를 따르는 API
- API(Application programming interface)
컴퓨터나 컴퓨터 프로그램 사이의 연결, 일종의 소프트웨어 인터페이스 이며 다른 종류의 소프트웨어에 서비스를 제공한다.