WEB

[백엔드] Rest API / Restful API 이해하기

성코 2023. 8. 1. 09:20

 

 

1. REST란?

2. REST API란?

3. RESTful API의 장점

 

 

1. REST란?

  • Representational State Transfer 의 약자로 리소스를 이름으로 구분하여 해당 리소스의 상태를 주고 받는 모든 것을 의미 
웹 아키텍처의 한 종류로 분산 시스템에서 리소스를 정의하고 이를 관리하기 위한 원칙과 제약 조건을 나타내는 아키텍처 스타일입니다. 클라이언트와 서버 간의 통신을 간단하고 효율적으로 만들어주는 개념입니다.

 

REST는 주로 웹 서비스와 API 디자인에 활용되며, 분산 시스템과 마이크로서비스 아키텍처에서도 중요한 역할을 합니다. 클라이언트와 서버 간의 상호작용을 단순화하고 기능을 모듈화하여 확장성과 유지보수성을 향상시키는데 큰 도움을 줍니다. 

 

 

2. Rest API란?

Rest 기반으로 만들어진 API를 말합니다. 

HTTP URI를 통해 리소스를 표현하고, HTTP Method(GET, POST, PUT, DELETE 등)을 통해 해당 리소스에 대한 CRUD Operation을 적용하는 것을 말합니다. 

 

다시 말해,
HTTP URI로 정의된 리소스를 HTTP Method를 사용해 어떤 행위를 할 것인지 구조적으로 표현하여 설계된 API를 말합니다.

 

 

3. RESTful API의 장점

'RESTful API'REST API 설계 가이드를 준수하여 웹 서비스를 제공하면 해당 웹 서비스는 RESTful하다고 할 수 있습니다. 

 

RESTful API를 사용하면 좋은 점은 

1. 가독성이 좋다

URI만 보고 어떤 자원에 접근할 것인지, 메소드를 보고 어떤 행위를 할지 알 수 있기 때문에 REST API의 메세지를 읽는 것만으로도 메세지의 의도를 확실히 파악할 수 있습니다. 

 

2. 쉬운 사용성

HTTP의 인프라를 그대로 사용하기 때문에 API 사용을 위한 별도의 인프라 구축이 필요하지 않습니다.

 

3. 클라이언트와 서버의 독립성

REST API에는 Stateless(무상태)라는 특징이 있습니다. 클라이언트와 서버 간 독립적인 상태로 각 요청이 분리되어 있고 서로 연결되어 있지 않습니다. 즉, 각자의 역할이 명확하게 분리되어 있습니다. 

 

서버는 클라이언트의 정보를 저장-유지하지 않아, 받은 정보가 같은 사람이 보낸 것인지 저장하고 있지 않습니다.

따라서, 클라이언트가 요청할 때마다 자기 정보를 보내야하고, 서버는 받은 정보로 클라이언트의 정보를 확인합니다.

 

이런 장점은 멀티플랫폼 지원이 가능하고, 클라이언트쪽에서는 서버를 신경 쓸 필요 없이 API 호출만 하면 원하는 결과를 받을 수 있습니다.