RESTful API

Yerin·2020년 1월 24일
0
post-custom-banner

image.png

RESTful API란?

  • REST는 Representational State Transfer의 약자로 소프트웨어 프로그램 아키텍처의 한 형식이다.
  • 웹에 존재하는 모든 자원(이미지, 동영상, DB 자원) 에 고유한 URI를 부여해 활용하는 것으로 자원을 정의하고 그에 대한 주소를 지정하는 방법론을 의미한다.
  • REST api는 REST특징을 지키면서 api를 제공하는 것이다.

구성

  • 자원(Resource) - URL
  • 행위(Verb) - HTTP Method
  • 표현(Representations)

특징

  1. Client/Server
  • 클라이언트는 유저와 관련된 처리를, 서버는 REST api를 제공함으로써 각각의 역할이 구분되고 일관적인 인터페이스로 분리되어 작동할 수 있게 된다.
  1. Stateless
  • HTTP의 특성을 이요하므로 무상태성을 갖는다. 즉 서버에서 어떤 작업을 하기 위해 상태정보를 기억할 필요가 없고 들어온 요청에 대한 처리만 해주면 되기 때문에 구현이 쉽고 단순하다.
  1. Cacheable
  • 기본 웹에서 사용하는 인프라를 그대로 사용할 수 있다.
  1. Self-descriptiveness (자체표현구조)
  • 동사(method) + 명사(uri)로 이루어져있어 어떤 메서드에 무슨 행위를 하는지 알 수 있으며 메시지 포맷 역시 json을 이용해서 직관적으로 이해가 가능한 구조로 rest api 메세지만 보고도 이를 쉽게 이해할 수 있다.
  1. 계층형 구조
  • api 서버는 순수 비즈니스 로직을 수행하고 그 앞단에 사용자 인증, 암호화, 로드밸런싱 등을 하는 계층을 추가하여 구조상의 유연성을 둘 수 있다.
  1. 유니폼 인터페이스
  • HTTP 표준에만 따른다면 모든 플랫폼에서 사용이 가능하며 uri로 지정한 리소스에 대한 조작을 가능하게 하는 아키텍처 스타일이다.

설계

  • URL은 정보의 자원을 표현해야하기 때문에 설계할때 몇가지를 지켜야 한다.
  1. 소문자 사용
  2. 하이픈(-) 사용
  3. 확장자 사용 X (.txt, .png)
  4. 언더바(__) 사용 X

더 자세한 설명)
https://www.smashingmagazine.com/2018/01/understanding-using-rest-api/

profile
졸꾸 !!!
post-custom-banner

0개의 댓글