REST, RESTful, REST API란?

한슬희·2021년 12월 11일
1
post-thumbnail

REST

REST란 'Representational State Transfer'으로 REST는 웹에서 데이터를 전송하고 처리하는 방법을 정의한 인터페이스다. HTTP URI를 통해 자원(Resource)을 명시하고 HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation를 적용하는 것을 의미한다.
REST는 자원(RESOURCE) - URI, 행위(Verb) - HTTP METHOD, 표현(Representations)로 구성되어 있다.

REST는 HTTP Method를 통해 Resource를 처리하도록 설계된 아키텍처로, 6가지 원칙을 기본으로 한다.

REST 6가지 규칙

1) 균일한 인터페이스 (Uniform Interface): HTTP 표준 프로토콜에 따르는 모든 플랫폼에서 사용이 가능하다.

2) Client&Server 구조: 자원이 있는 Server , 자원을 요청하는 Client의 구조를 가진다.

3) 무상태 (Stateless): 작업을 위한 상태정보를 따로 저장하고 관리하지 않는다. 따라서 불필요한 정보를 관리하지 않음으로 구현이 쉽다.

4) 캐시 처리 기능(Cacheable): HTTP가 가진 캐싱 기능이 적용이 가능하다. 이로 인해 전체 응답시간, 성능, 서버의 자원 이용률을 향상시킬 수 있다.

5) 계층 구조 아키텍처: REST 서버는 다중 계층으로 구성될 수 있으며 보안, 로드 밸런싱, 암호화 계층을 추가해 구조상의 유연성이 있으며 Client는 REST API Server만 호출된다.

6) 코드 온디맨드(옵션): Server로부터 스크립트를 받아서 Client에서 실행한다. 필수는 아니다.

RESTful

RESTful이란 REST의 원리를 따르는 시스템을 의미한다.

REST API의 설계 가이드에 따라 만든 시스템을 RESTful하다 하지만 이를 지키지 않은 시스템은 REST API지만 RESTful 하지 못한 시스템이라고 할 수 있다.

즉, RESTful은 REST를 REST답게 쓰기 위한 방법이다. API의 목적이 무엇인지 명확하게 하기 위해선 RESTful한 API를 구현할 필요가 있다.

추가적으로 RESTful API를 사용하는 클라이언트가 전적으로 서버와 동적인 상호작용이 가능하도록 하는 것을 HATEOAS(헤이티오스)라고 한다.

REST API

API란?

API(Application Programming Interface)는 응용 프로그램에서 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다.

REST API

REST API(Representational State Transfer API)는 웹상에서 사용되는 여러 리소스를 HTTP URI로 표현하고, 해당 리소스에 대한 행위를 HTTP Method로 정의하는 방식이다.

아래는 REST API URI 규칙에 대한 참고가 될 수 있는 자료다.

7 Rules for REST API URI
RESTful API를 설계하기 위한 디자인 팁

SOAP VS REST

API 구조에 있어 SOAP API와 REST API의 차이점이 중요하다. 아래 표를 참고하면 좋을 것 같다.

참고

REST API 제대로 알고 사용하기

profile
🧡 Frontend developer / 어제보다 오늘 더 성장한 개발자

0개의 댓글