REST API란 무엇이고 설계 규칙

오성민·2023년 2월 22일
0

CS

목록 보기
7/10

목차

  • REST API란?
  • 설계 규칙

REST API란?

REST API란? 웹 서비스를 구축하고 운영을 하다보면 여러 가지 API를 활용하여 서비스를 운영한다. 그러한 API를 구축하고 운영할 때에 효율적으로 사용할 수 있도록 REST 아키텍처로 디자인한 API를 REST(ful) API라고 한다.

API란?

API란? 두 애플리케이션이 서로 통신을 할 수 있도록 상호 통신 방법을 규정하고 도와주는 매개체이다.
이러한 인터페이스는 요청과 응답을 사용하여 두 애플리케이션이 서로 통신하는 방법을 정의한다.

API의 장점

  • API를 사용하면 요청하는 서비스의 서버를 완벽하게 이해하지 못해도 해당 API를 제공하는 측에서 문서를 보면서 문서에 맞게 사용을 한다면, 응답측에서 제공하는 기능을 사용할 수 있다.
  • API를 통해서 데이터 및 콘텐츠를 요청하면 자동으로 생성되고, 이로 인해서 애플리케이션 확장이 매우 용이해진다.

API의 단점

  • API의 가장 큰 장점이 편리하게 HTTP 메서드를 통해서 사용할 수 있다는 점이지만 이것이 큰 단점이기도 하다. 관리를 하지 않는다면 악성 공격의 목표가 될 것이다.

REST 아키텍처란?

REST 아키텍처란? 웹에서 데이터를 전송하고 처리하는 방법을 정의한 인터페이스이다.
HTTP Method를 통해 해당 자원에 대한 CRUD를 적용한다.

특징

  • 데이터 구조와 처리방식을 URL을 통해 정의된다.
  • 유니폼 인터페이스이다. HTTP 표준만 따르면서 통신을 한다면 플랫폼과 특정 언어에 종속되지 않고, URI로 지정한 리소스에 대한 조작이 가능한 아키텍처 스타일을 의미한다.
  • 상태를 저장하지 않는다. 상태를 기억하지 않고, 들어오는 요청만을 처리한다. 이로 인해서 구현이 비교적 단순해지고 리소스를 덜 사용한다.
  • 웹에서 기존 인프라를 그대로 활용할 수 있다. 캐시 및 여러 기능을 사용할 수 있다.
  • REST 서버는 다중 계층으로 구성될 수 있으며 여러 계층을 추가해서 구조상의 유연성을 둘 수 있다.

장점

  • 매우 직관적으로 이해하기가 쉽다. URL을 통해서 데이터 구조 및 처리방식을 정의하기 때문에 매우 직관적이다. ex) 3반에서 5번 학생의 데이터를 주세요. -> GET/adress/students/3/5
  • 서버와 클라이언트의 역할을 명확하게 분리하여서 관리가 용이해짐.

단점

  • 구형 브라우저에서는 여러 Method를 지원하지 않는다.
  • 표준이 존재하지 않아서 관리가 쉽지 않음.
  • HTTP Method 형태가 매우 제한적이다. 예전에는 딱 4가지 였다.(GET, POST, DELETE, PUT)

설계 규칙

  • 소문자를 사용한다.
  • 하이픈(-)을 사용해서 공백을 제거한다.
  • 경로에 확장자가 들어가지 않게 한다. 확장자 값이 반드시 필요하다면 Header에 값을 넣어서 경로에는 나오지 않게 한다.
  • URI에 CRUD를 사용해서 행위를 포함하면 안 된다.
  • 마지막에 슬래시를 포함하지 않는다.
  • 명사를 사용하되, 컨트롤 자원을 의미하는 경우 동사를 사용한다.
  • 영어를 복수형으로 사용한다.
profile
풀스택을 지향하는 개발자

0개의 댓글