REpresentational State Transfer의 약어로, HTTP를 활용해서 데이터에 접근하고 데이터
를 다루는 API아키텍쳐 스타일이다.
Uniform Interface는 URI로 조작은 통일되고, 한정적 인터페이스로 수행하는 아키텍쳐 스타일
세션정보 또는 쿠키와 같은 작업을 위한 상태정보를 따로 저장하고 관리하지 않고 단순 요청만 처리하면된다. 이로인해 서비스의 자유도가 높아지고, 서버에서 불필요한 정보를 관리하지 않음으로서 구현이 단순해진다.
웹에서 사용하는 기존 인프라를 그대로 활용이 가능하다. 따라서 HTTP가 가진 캐싱기능이 적용이 가능하다.
RESP API 주소만 보고도 쉽게 이해할 수 있는 자체 표현구조로 되어있다.
클라이언트는 UI, Request, Server는 데이터 관라, 사용자 인증하는 것 처럼 역할이 확실히 구분되어 클라이언트와 서버에서 개발할 내용이 명확해지고 서로간 의존성이 줄어들게 된다.
잘못된 예시
GET /members/delete/1
GER /members/show/1
올바른 예시
DELETE /members/1
GET /members/1
Accept Header를 이용하여 보내자
http://localhost:8080/members/info/photo.jpg (x)
Document는 객체이고 이 객체를 모아둔것이 Collection이다. 아래와 같이 Collection에 해당하는 단어는 복수형으로 표시하면 조금 더 이해하기 쉬운 URI를 만들 수 있다.
http://localhost:8080/sports/soccer