REST API란?

이재상·2021년 4월 27일
0

WEB

목록 보기
1/1

REST API를 알아보기에 앞서 API란 무엇인지 알아야 할 필요가 있다.

API란?

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

즉, 어플리케이션과 프로그래밍으로 소통하는 방법이다.

그러면 Web API는 어떤 기능을 하는지 알아보자.

Web API

  • 웹 서버 또는 웹 브라우저를 위한 응용 프로그램 인터페이스
  • 웹 어플리케이션 개발에서 다른 서비스에 요청을 보내고 응답을 받기 위해 정의된 명세
  • 현재 웹 개발은 추가로 직접 모든 것을 개발하지 않고 여러 Open API를 가져와서 활용하는 추세

REST(Representational State Transfer)

REST는 월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식이다.
- wiki

  • 웹 설계 상의 장점을 최대한 활용할 수 있는 아키텍쳐 방법론
  • 네트워크 아키텍쳐 원리의 모음
    • 자원에 대한 주소를 지정하는 방법
    • 자원을 정의
  • REST 원리를 따르는 시스템 혹은 API를 RESTful API라고 하기도 함

REST는 기본 요소 3가지를 가진다.

  1. Resource => URI

  2. Method => HTTP Method

  3. Message => Representations

URI란?

  • Uniform Resource Identifier
  • 통합 자원 식별자
  • 인터넷의 자원을 나타내는 유일한 주소
  • 인터넷에서 자원을 식별하거나 이름을 지정하는 데 사용되는 간단한 문자열
  • 하위 개념
    • URL, URN

URL이란?

  • Uniform Resource Locator
  • 통합 자원 위치
  • 네트워크 상에 Resource가 어디 있는지를 알려주기 위한 약속
  • Resource는 HTML 페이지, CSS 문서, 이미지 등이 될 수 있음

URN이란?

  • Uniform Resource Name
  • 통합 자원 이름
  • URL과 달리 자원의 위치에 영향을 받지 않는 유일한 이름 역할을 함(독립적 이름)
  • 자원의 이름이 변하지 않는 한 자원의 위치를 이곳저곳 옮겨도 문제 없이 동작

URL과 URN 비교

  • URN은 자원의 ID를 정의하고, URL은 자원을 찾는 방법을 제공
  • 따라서 URN과 URL은 상호 보완적

REST 예시

예를 들어 가수 이름과 노래 정보가 저장되어 있는 웹 페이지가 있다고 가정하자.

여기에서 가수를 추가하고자 할 때 'BTS라는 가수를 생성하고 싶습니다.' 라는 호출이 있을 때 "가수"는 생성되는 Resource, 그리고 "생성하고 싶습니다"라는 행위의 요청은 Method, "이름이 BTS인 가수"는 Message가 된다.

위를 REST 하게 표현을 해보면

이렇게 표현할 수 있다.

REST의 핵심 규칙

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

  2. 자원에 대한 어떤 행위는 HTTP Method로 표현한다.

유명하신 조대협님의 블로그를 참고하여 정리했습니다.

profile
차근차근 공부한 것을 정리하는 곳

0개의 댓글