꾸매코딩

[용어 정리] REST API (RESTful API) 란 무엇인가? 본문

CS

[용어 정리] REST API (RESTful API) 란 무엇인가?

꾸매코더 2021. 8. 19. 20:59
반응형

개요

REST

  • REST 란?
  • REST 구성
  • REST의 장단점

REST API

  • REST API 란?
  • REST API 규칙

RESTful API

  • RESTful API 란?

요약 및 정리

 


REST 란?

REST(Representational State Transfer)는 월드 와이드 웹(World Wide Web)과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식이다 - [위키백과]
웹에 존재하는 모든 자원(이미지, 동영상 DB 자원 등..)에 고유한 URI(Uniform Resource Identifier)를 부여.

이러한 자원에 대한 주소를 지정하는 방법론을 의미한다.

 


REST 구성

구성 요소 내용 표현 방법
Resource 자원 HTTP URI
Verb 자원에 대한 행위 HTTP Method
Representations 자원에 대한 행위의 내용 HTTP Message Pay Load

Resoure

모든 자원에 고유한 ID가 존재하고, 이 자원은 Server에 존재한다.

자원을 구별하는 ID는 /movie/1 같은 HTTP URI이다.

Client는 URI를 이용해서 자원을 지정하고, 해당 자원의 상태에 대한 조작을 Server에 요청한다.

 

Verb

HTTP 프로토콜의 Method를 사용한다.

GET, POST, PUT, DELETE와 같은 Method를 제공한다.

 

Representations

Client의 요청에 Sever는 응답(Representation)을 보낸다.

REST에서 자원은 JSON, XML, RSS 등 여러 형태의 응답으로 나타내어질 수 있다.

JSON, XML이 일반적이다.

 


REST의 장단점

장점

  • HTTP 프로토콜의 인프라를 사용하므로 별도의 인프라를 구축할 필요가 없다.

  • HTTP 표준 프로토콜에 따르는 모든 플랫폼에서 사용이 가능하다.

  • REST API 메시지가 의도하는 바를 명확하게 나타내므로 의도한 바를 쉽게 파악할 수 있다.

 

단점

  • 표준이 존재하지 않는다.

  • 사용할 수 있는 메소드가 제한적이다.

  • 브라우저를 통해 테스트할 일이 많은 서비스라면 고칠 수 있는 URL보다 Header 값이 어렵게 느껴진다.

  • 구형 브라우저가 아직 제대로 지원해주지 못하는 부분이 존재한다 (PUT, DELETE, .... pushState)

 


REST API 란?

REST 기반으로 서비스 API를 만들면 REST API이다.

API에 대한 설명

 

[용어 정리] API란?

API 풀 네임은 Application Programming Interface API는 프로그램들이 서로 상호작용하는 것을 도와주는 매개체 API는 Private API, Public API, Partner API로 분류됨 "프로그램을 위한 인터페이스" 장점 구현..

shin1303.tistory.com

 

REST API 규칙

URI는 정보의 자원을 표현해야 한다.

리소스 명은 동사보다는 명사를 사용한다.

URI는 자원을 표현하는데 중점을 두어야 한다.
// Bad
GET/getMovie/1
GET/movie/show/1

// Good
GET/movie/1

 

자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE 등)으로 표현한다.

자원들을 HTTP Method으로 처리한다. 
// Bad
GET /getMovie/delete/1

// Good
DELETE /movie/1

 


RESTful API 란?

'REST API'를 제공하는 웹 서비스를 'RESTful' 하다고 할 수 있다.

RESTful은 REST를 REST답게 쓰기 위한 방법으로, 누군가 공식적으로 발표한 것은 아니다.
→ 즉, REST 원리를 따르는 시스템은 RESTful 이란 용어로 지칭된다.

 


요약 및 정리

REST는 각 요청이 어떤 동작이나 정보를 위한 것 인지, 그 요청의 모습 자체로 추론이 가능하다.

REST API란, 특정한 API를 지칭하는것이 아닌, REST 규칙에 따라 만들어진 API를 의미한다.
→ 데이터가 이동함에 있어, 개발자들 사이에서 널리 쓰이는 형식

RESTful API란, REST 규칙을 따라 API를 만든 API라고 이해해도 충분할 것 같다.

∴ "REST라는 규칙이 있는데, 이를 활용해서 만든 API를 'REST API' 혹은 'RESTful API' 라고 부른다" 정도로 이해하면 될것같다.

 


참고 자료

https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html

 

[Network] REST란? REST API란? RESTful이란? - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

https://ko.wikipedia.org/wiki/REST

 

REST - 위키백과, 우리 모두의 백과사전

대한민국의 힙합 음악가에 대해서는 R-EST 문서를 참고하십시오. REST(Representational State Transfer)는 월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식이다. 이

ko.wikipedia.org

https://poiemaweb.com/js-rest-api

 

REST API | PoiemaWeb

REST(Representational State Transfer)는 HTTP/1.0과 1.1의 스펙 작성에 참여하였고 아파치 HTTP 서버 프로젝트의 공동설립자인 로이 필딩 (Roy Fielding)의 2000년 논문에서 처음 소개되었다. 발표 당시의 웹이 HTTP

poiemaweb.com

 

반응형