REpresentational State Trasfer의 약어로 웹을 이용할때 제약 조건들을 정의하는 소프트웨어 아키텍처 스타일입니다. HTTP URL을 통해 자원을 명시하고 HTTP METHOD(GET, POST, PUT, DELETE)을 통해서 해당 자원에 대한 CRUD(Create, Read, Update, Delete)를 적용하는 것을 의미합니다.
GET : 지정된 URL에서 리소스의 표현을 조회
POST : 지정된 URL에 신규 리소스를 생성
PUT : 지정된 URL에 리소스를 생성하거나 업데이트
PATCH : 리소스의 부분 업데이트
DELETE : 지정된 URL의 리소스를 제거
REST에서 자원은 URI(Uniform Resource Identifier)로 식별됩니다. 자원은 예를 들어 사용자, 댓글, 이미지 등과 같은 것이 될 수 있습니다. URI는 자원을 고유하게 식별하고, 자원에 대한 요청을 수행하기 위한 메커니즘을 제공합니다.
REST에서는 HTTP 프로토콜의 메서드를 이용하여 자원을 조작합니다. HTTP 메서드는 GET, POST, PUT, DELETE 등이 있으며, 각각의 메서드는 서버에 요청하는 목적에 따라 적절한 메서드를 선택하여 사용합니다.
자원은 특정 형식으로 표현됩니다. REST에서는 텍스트, JSON, XML 등 다양한 형식으로 표현할 수 있습니다. 클라이언트는 서버로부터 받은 자원의 표현을 처리하고 해석할 수 있어야 합니다. 서버는 표현 형식을 Content-Type 헤더와 같은 메타데이터를 이용하여 클라이언트에게 알려줍니다.