REST(Representational State Transfer)란, 자원(resource)의 이름을 구분하여 해당 자원의 상태를 주고 받는 모든 것을 의미한다. HTTP URI를 통해 자원을 명시하고 HTTP 메서드(GET, POST, PUT, DELETE)를 통해 해당 자원에 대한 CRUD를 적용하는 것을 말한다. 즉, 자원 기반의 구조 설계 중심에 리소스가 있고, HTTP 메서드를 통해 리소스를 처리하도록 설계된 아키텍쳐를 의미한다.
Application Programming Interface의 약자로 응용프로그램에서 사용할 수 있도록 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 쉽게 설명하면 프로그램끼리 통신할 수 있도록 하는 역할을 한다.
REST원칙을 적용하여 서비스 API를 설계한 것으로 REST API를 제공하는 웹 서비스를 RESTful하다고 할 수 있다. HTTP 메서드인 POST, GET, PUT, DELETE를 통해 해당 리소스 대한 CRUD를 적용하고, 요청한 주소만으로도 어떤 요청인지 파악 가능한 것을 말한다.
URI
URL
자원
CRUD