RESTful HTTP API 구조 및 개념

Jeon seong jin·2020년 3월 16일
1

면스

목록 보기
2/2

들어가기에 앞서

기본 배경 지식

  • URI

    • 해당 사이트의 특정 자원의 위치를 나타내는 유일한 주소.
    • /login,/news
    • https://finace.naver.com/marketindex/
  • HTTP Method

    • HTTP request가 의도하는 action을 정의한것
    • POST,GET 등등
  • Payload

    • HTTP request에서 보내는 데이터 (body)

REST 와 RESTful API

  • REST란, 웹에 존재하는 모든 자원(이미지,동영상)에 고유한 URI를 부여해 활용하는 것 으로 자원에 대한 주소를 지정하는 방법을 의미

  • RestURI를 통해 자원을 표시하고, HTTP METHOD를 이용하여 해당 자원의 행위를 정해주며 그 결과를 받는 것을 말한다.

  • RESTful API는 REST 기반의 규칙들을 지켜서 설계된 API를 RestAPI,RESTfulAPI 라고 한다.

REST의 구성요소

  • 자원(resource) : URI
  • 행위(Verb) : HTTP METHOD
  • 표현(Representations)

REST의 특징

  1. 유니폼 인터페이스 : HTTP 표준만 따르면 어떤 언어나 플랫폼에서 사용해도 사용이 가능한 인터페이스 스타일이다. 특정 언어에 상관없이 사용이 가능하다.
  2. Stateless(상태 정보 유지 x) : Rest는 상태 정보를 유지하지 않는다. 서버는 각각의 요청을 완전히 다른 것으로 인식하고 처리를 한다.
  3. Cacheable(캐시가능) : HTTP라는 기존 웹 표준을 그대로 사용하기 때문에 기존 인프라를 그대로 활용이 가능하다. 그래서 HTTP가 가진 캐싱 기능이 적용 가능
  4. Self-descriptiveness (자체 표현 구조) : REST API 메시지만 보고도 쉽게 이해 할 수 있는 자체 표현 구조로 되어있다.

REST API 설계

  • 가장 중요한 항목은 2가지로 요약할 수 있다.
    1. URL 정보의 자원을 표현해야 한다.
    2. 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE)로 표현한다.

REpresentational State Transfer

  • 웹상에서 사용되는 여러 리소스를 HTTP URI로 표현하고 그 리소스에 대한 행위를 HTTP Method로 정의하는 방식.

    • 즉, 리소스(HTTP URI로 정의된)를 구조적으로 깔끔하게 표현하는것.
    • Method는 주로 GETPOST만 사용한다.
    • PUTDELETE 등도 사용하는 곳도 있지만, 그냥 GETPOST만 사용하는 것이 단순하기 때문에 GET,POST를 알아두자.
    • 예를 들어, 주식 정보를 받기 위한 HTTP 요청 :
      • HTTP GET https://api.trueshort.com/stock/005930

RESTful API 장점

  • 가장 명확한 장점은 self-descriptiveness(자체 표현 구조)
  • RESTful API 그 자체만으로도 API의 목적이 쉽게 이해가 간다.

RESTful API 유의점

  • /(슬래시)는 계층 관계를 나타낼때 사용.
  • URI 마지막 문자로 슬래시를 포함하지 않는다.
  • 하이픈(-)은 URI 가독성을 높이는데 사용한다.
  • 밑줄(_)은 URI에 사용하지 않는다.
  • 경로에는 소문자가 적합
profile
-기록일지

0개의 댓글