Application Interface Programming
(Representational State Transfer)
A REST API is an API that conforms to the design principles of the REST, or representational state transfer architectural style.
For this reason, REST APIs are sometimes referred to RESTful APIs.
REST is an HTTP-based web service for communication between those applications.
HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미
REST는 자원 기반의 구조(ROA, Resource Oriented Architecture) 설계의 중심에 Resource가 있고 HTTP Method를 통해 Resource를 처리하도록 설계된 아키텍쳐를 의미
자원(Resource) - URI
행위 (Verb) - HTTP Method
표현 (Representations)
리소스
도큐먼트 : 객체 인스턴스나 데이터베이스 레코드와 유사한 개념
컬렉션 : 서버에서 관리하는 디렉터리라는 리소스
스토어 : 클라이언트에서 관리하는 리소스 저장소
HTTP 메소드
POST : 현재 리소스(Collection)보다 한 단계 아래의 리소스(Document) 생성
GET : 현재 리소스(Collection, Document)를 조회
PUT : 현재 리소스(Document)의 정보 수정 (해당 자원의 전체를 수정)
DELETE : 현재 리소스(Document)를 삭제
PATCH : 현재 리소스(Document)를 수정 (해당 자원의 일부를 수정)
예시
https://maps.googleapis.com/maps/api/geocode/json
server : maps.googleapis.com
resource: /maps , /api, /geocode, /json