REST API란 무엇일까...

Shin_jihwan·2023년 7월 20일

개발자 또는 엔지니어가 되어 REST API를 자주 만나게 되었다.
대체 REST API란 무엇일까?
왜 이것을 쓰는지 알아볼 필요가 있어 찾아보고 이곳에 정리해본다.

1. API란?

Application Programming Interface

  • Application: (응용)프로그램
  • Programming: 프로그래밍
  • Interface: 접속

1. 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 접속 규약을 뜻한다.

2. "애플리케이션 프로그래밍 인터페이스(API)는 다른 소프트웨어 시스템과 통신하기 위해 따라야 하는 규칙을 정의합니다."
(출처: 아마존)

3. API는 어떤 서버의 특정한 부분에 접속해서 그 안에 있는 데이터와 서비스를 이용할 수 있게 해주는 소프트웨어 도구

다른 시스템과 통신하기 위해서 규칙을 정의해주는 것을 API라고 한다.
따라서, 다른 시스템과 통신하기 위해서는 API를 사용한다.

비유를 하자면, API는 레스토랑의 웨이터라고 한다. 손님이 웨이터에게 메뉴를 보여주고 손님이 메뉴를 주문하면 주문한 메뉴를 주방에 전달한다. 주문한 음식이 나오면 그것을 손님에게 가져다준다. 이러한 역할들을 하는 것이 API라고 한다.

2. REST란?

Representational State Transfer
직역하자면 '표현 상태 전송(교환?)'이라고 할 수 있다.

자원을 이름으로 구분하여 해당 자원의 상태정보를 주고 받는 모든 것을 의미한다.

HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고,
HTTP Method(POST, GET, PUT, DELETE, PATCH 등)를 통해
해당 자원(URI)에 대한 CRUD Operation을 적용하는 것을 의미한다.

REST의 3가지 구성요소

  • 자원(Resource): HTTP URI
    URI란, 'Uniform Resource Identifier' '통합 자원 식별자' 라고 할 수 있다.
  • 자원에 대한 행위(Verb): HTTP Method
    ex) post, get 등
  • 행위에 대한 내용(Representations): HTTP Message Payload
    ex) Header, Body 메타 데이터 등

REST API의 장단점

장점)
1. 의도하는 바를 명확하게 파악하기 용이하다.
2. 서버와 클라이언트를 명확하게 분리한다.

단점)
1. HTTP Method 형태(POST, GET, PUT, DELETE)가 제한적이다.
2. 표준이 정해져 있지 않다.


My Comment

(2023/07/21)
#. 추가적으로, 알면 API를 이해하는데 도움이 될 것
1) open API

#. API와 REST API에 대해서 간단히 알아보았다. 추후 추가할 내용이나 수정할 내용이 있다면 수정해보도록 하자.

#. SOAP API 추가 예정(2023.08.31)

profile
내가 좋아하는 서비스를 만들어볼까

1개의 댓글

comment-user-thumbnail
2023년 7월 20일

잘 봤습니다. 좋은 글 감사합니다.

답글 달기