[REST (Representational State Transfer)] 자원을 URI로 표시하고 해당 자원의 상태를 주고 받는 것 REST하지 못한 API는 ? CRUD 기능을 전부 POST METHOD로만 처리하는 API URI에 자원과 id외 정보가 들어가는 경우 [REST 구성 요소] 자원(Resource): URI 행위(Verb): HTTP METHOD 표현(Representations) 즉, Rest는 URI를 통해 자원을 표시하고, HTTP METHO를 이용하여 해당 자원의 행위를 정해주며 그 결과를 받는 것 [REST 특징] Uniform Interface (유니폼 인터페이스) HTTP 표준만 따른다면 어떤 언어 혹은 어떤 플랫폼에서 사용하여도 사용이 가능한 인터페이스 스타일 Stateless (상태 정보 유지 안함) 서버는 각각의 요청을 완전히 다른 것으로 인식하고 처리 이전 요청이 다음 요청 처리에 연관이 되면 안된다 Cacheable (캐시 가능) 웹 표준을 그대로 사용하기 때문에 HTTP가 가진 캐싱 기능 적용이 가능 Self-descriptiveness (자체 표현 구조) Rest API 메시지만 보고도 쉽게 이해할 수 있는 자체 표현 구조 Client-Server Rest 서버는 API 제공 클라이언트는 사용자 인증에 관련된 일들을 직접 관리 자원이 있는 쪽을 Server라고 하고 자원을 요청하는 쪽이 Client가 됨 서로간의 의존성이 줄어들기 때문에 역할이 확실하게 구분되어 개발해야할 내용들이 명확해짐 Layerd System (계층화) 클라이언트는 Rest API 서버만 호출 Rest 서버는 다중 계층으로 구성될수 있음 로드