URI를 통해 자원을 표시하고 HTTP Method를 이용하여 해당 자원의 행위를 규정하여 결과를 받는 것

Uniform
: URI로 지정한 리소스에 대한 조직을 통일되고 한정적인 인터페이스로 수행하는 아키텍처 스타일
무상태성 성격
: 작업을 위한 상태 정보를 따로 저장하지 않음
→ 서비스의 자유도가 높아지고 불필요한 정보를 관리하지 않아 구현이 단순함
Cacheable
: HTTP를 사용하기 때문에 기존 인프라를 그대로 활용할 수 있음
Self-descriptiveness
: REST API만 보고도 쉽게 이해할 수 있는 자체 표현 구조
Client-Server 구조
: REST 서버는 API를 제공하고 클라이언트는 사용자 인증이나 컨텍스트를 직접 관리
→ 클라이언트와 서버의 의존성일 줄어듦
계층형 구조
: REST 서버는 다중 계층으로 구성되고 보안, 로드 밸런싱, 암호화 계층을 추가하여 구조상 유연성을 둘 수 있음
URI는 정보의 리소스를 표현해야 한다
리소스에 대한 행위는 HTTP Method로 표현
/(슬래시 구분자)는 계층 관계를 나타낼 때 사용
URI 마지막 문자로 / 포함하지 않음
-(하이픈)은 URI 가독성을 높일 수 있음
URI에 _(언더바)를 사용하지 않는다
URI 경로에는 소문자를 사용한다
파일 확장자는 URI에 포함하지 않음
소프트웨어 개발에서 데이터를 처리하는 기본적인 네 가지 작업 생성, 읽기, 업데이트, 삭제를 의미
생성(CREATE) + 읽기(READ) + 업데이트(UPDATE) + 삭제(DELETE)

→ 데이터 관리 시스템의 핵심 기능으로 대부분의 애플리케이션에 필수적으로 구현되어야 하는 기능
CURD 기능은 데이터 관리의 기본이며 모든 데이터 기반 애플리케이션에서 필수적으로 구현되어야 한다
사용자는 이 기능을 통해 데이터를 효율적으로 조작하고 애플리케이션은 데이터의 일관성과 무결성을 유지한다
CRUD 작업을 통해 데이터의 정확성을 보장하고 사용자의 요구를 만족시키며 데이터 보안을 강화할 수 있다
CRUD 기능의 구현은 애플리케이션의 유지 보수와 확장성에도 중요한 영향을 미친다