[Server] RESTful API 란?

SlothisSlow·2021년 11월 17일
4

Server

목록 보기
2/5

RESTful API에 대한 정의를 내리고 공부해보려다가, API를 와닿게 잘 표현한 글이 있어서 참고하여 설명할 예정이다.

먼저 RESTful API를 단계적으로 이해하기 위해
API -> REST API -> RESTful API 순으로 알아보자.

API (Application Programming Interface)

API는 어플리케이션에서 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다.
주로 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공한다.

정의만으로는 이해가 안될 수도 있으니, 예시를 통해 이해해보도록 하자.

나는 집에 있는 TV를 보기위해 다음과 같은 프로세스를 거친다.

  1. 리모컨을 든다.
  2. 리모컨의 전원버튼을 누른다.

이 프로세스에 관여하는 세 가지 Things는 바로
나 <-> 리모컨 <-> TV 이다.

이 때, 리모컨의 역할이 바로 API라고 할 수 있다.
이처럼 API는 어플리케이션과 운영체제, 그리고 어플리케이션과 프로그래밍 언어가 제공하는 기능 사이의 '상호 작용'을 도와주는 것이다.

웹 API

웹은 기본적으로 요청(request)과 응답(response)으로 작동한다.
웹 API는 웹 어플리케이션 개발을 할 때 클라이언트와 서버간의 요청과 응답을 주고 받기 위해 정의한 API이다. API의 형태는 다양하게 정의되지만, ICIP & 캡스톤디자인 발표회의 응급알림시스템의 웹에서는 함수를 API로 정의하여 사용하였다.

REST API

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

REST API 설계 Guide

  • 리소스에 대한 행위는 HTTP Method(POST, GET, PUT, DELETE)로 표현해야 한다.
  • /(슬래시)는 계층 관계를 나타낼때 사용한다.
  • URI 마지막 문자에 /(슬래시)를 사용하지 않는다.
  • URI에 _(underscore)는 사용하지 않도록 한다. 또한 영어 대문자보다는 소문자를 쓴다.
  • 가독성을 위해서 긴 단어는 잘 사용하지 않는다.
  • URI에 동사는 GET, POST와 같은 HTTP Method를 표현하기 때문이다.
  • 동사가 아니라 명사를 사용한다.
  • URI에 파일의 확장자(예를들어 .json , .JPGE)를 포함 시키지 않는다.

RESTful API란?

RESTful API란 상기 REST API의 Guideline을 따라 API를 만든 것이다.

profile
Infra Engineer

0개의 댓글