[CS]REST란
Intro
자격요건에 항상 RESTFul, REST API를 이해하고 개발 가능한 자를 명시해두어서 개념 정리할 겸 적어본다.
REST의 한 줄 정리
REST 개념
- 정보들이 주고받아지는 데 있어 개발자들 사이에서 널리 사용되는 일종의 형식.
- 예를 들어, 송장에 각 칸에 기입하는 종이와 같은 것.
- 기술이 아니라, 형식임 !! (그렇기에 어떤 언어, 프레임워크를 사용하든 폼에만 맞춰서 기능을 개발하면 된다.)
- URL 주소만 보고도 수행하려는 동작을 유추할 수 있도록 만드는 것.
- 각 요청이 어떤 동작,정보를 위한 것인지를 그 요청 모습 자체만으로 추론 가능하다
- RESTful 하게 만든 API는 요청을 보내는 주소만으로도 대략 이게 무슨 요청인지 파악이 가능하다.
REST 메서드
- GET - 데이터를 조회하는 데 사용(Read)
- POST - 새로운 정보를 추가하는 데 사용(Create)
- PUT - 수정(update)
- DELETE - 삭제(delete)
REST 구성요소 (자원, 행위, 표현)
- 자원
- 모든 자원에는 고유한 ID가 존재한다.
- Client가 URL을 통해 자원을 지정하고 해당 자원의 상태에 대한 조작을 Server에 요청
- 행위
- HTTP 프로토콜은 메서드(GET, POST, PUT, DELETE)를 지원한다.
- 표현
- 자원에 대한 요청을 클라이언트가 했을 경우 응답을 서버가 해주는데,대부분 JSON 혹은 XML을 통해 데이터를 주고 받는다.