[CS]REST란

Intro

자격요건에 항상 RESTFul, REST API를 이해하고 개발 가능한 자를 명시해두어서 개념 정리할 겸 적어본다.

REST의 한 줄 정리

REST 개념

  • 정보들이 주고받아지는 데 있어 개발자들 사이에서 널리 사용되는 일종의 형식.
    • 예를 들어, 송장에 각 칸에 기입하는 종이와 같은 것.
    • 기술이 아니라, 형식임 !! (그렇기에 어떤 언어, 프레임워크를 사용하든 폼에만 맞춰서 기능을 개발하면 된다.)
  • URL 주소만 보고도 수행하려는 동작을 유추할 수 있도록 만드는 것.
  • 각 요청이 어떤 동작,정보를 위한 것인지를 그 요청 모습 자체만으로 추론 가능하다
  • RESTful 하게 만든 API는 요청을 보내는 주소만으로도 대략 이게 무슨 요청인지 파악이 가능하다.

REST 메서드

  • GET - 데이터를 조회하는 데 사용(Read)
  • POST - 새로운 정보를 추가하는 데 사용(Create)
  • PUT - 수정(update)
  • DELETE - 삭제(delete)

REST 구성요소 (자원, 행위, 표현)

  1. 자원
    1. 모든 자원에는 고유한 ID가 존재한다.
    2. Client가 URL을 통해 자원을 지정하고 해당 자원의 상태에 대한 조작을 Server에 요청
  2. 행위
    1. HTTP 프로토콜은 메서드(GET, POST, PUT, DELETE)를 지원한다.
  3. 표현
    1. 자원에 대한 요청을 클라이언트가 했을 경우 응답을 서버가 해주는데,대부분 JSON 혹은 XML을 통해 데이터를 주고 받는다.