자원의 상태 전달
네트워크 아키텍처
🧐REST가 잘 지켜졌는 지에 대한 기준🧐
클라이언트-서버가 서로 독립적으로 분리
요청에 대해서 클라이언트의 상태를 서버에 저장하지 않음
클라이언트의 서버의 응답을 Cache(임시저장), 재사용하여 서버 부하를 낮춤
클라이언트-서버 사이에 다양한 계층 형태로 구성 가능 및 확장
인터페이스의 일관성 지키고 + 아키텍처 단순화시켜서 작은 단위로 분리하여 클라이언트-서버가 독립적으로 개선
자바스크립트 등 특정 기능을 서버로부터 클라이언트가 전달받아 코드를 실행
🧐REST 잘 사용했는 지 판단🧐
웹 기반의 REST에서는 리소스 접근할 때 URI를 사용
가장 많이 사용하는 데이터 전달 방식 : HTML, XML, JSON, TEXT 등
어떤 타입의 데이터인지 알려주기 위해 HTTP Header 부분에 content-type을 통해서 데이터 타입을 지정
리소스 조작을 위해 데이터 전체를 전달 하지 않고, 메시지로 전달
별도의 메시지 형태로 데이터를 주고 받으며, 클라이언트-서버가 독립적으로 확장 가능하도록 함
GET POST PUT DELETE
요청하는 데이터가 어떻게 처리 되어져야 하는 지 충분한 데이터를 포함할 수 있어야 함
HTTP 기반 → HTTP Method, Header 정보, URI 포함 정보
⇒ ❗ 위 4가지 조건을 잘 갖춘 경우 ❗ = REST Full 하다 = REST API
규약이기 때문에 무조건적으로 꼭 지켜야하는 것은 아님