REST(Representational State Transfer)는 웹 아키텍처 스타일 중 하나로, 분산 시스템에서 리소스를 관리하고 상호 작용하기 위한 원칙과 규칙을 제공합니다. RESTful API는 이러한 원칙을 따라 설계된 웹 서비스 API를 의미하며, 클라이언트와 서버 간의 통신을 위한 효율적인 방법을 제공합니다.
리소스 중심 (Resource-Centric)
RESTful API는 리소스를 중심으로 설계됩니다. 각각의 리소스는 고유한 식별자(URI)를 가지고 있으며, 클라이언트는 이를 통해 리소스를 식별하고 조작할 수 있습니다.
HTTP 메서드 활용
HTTP 메서드(GET, POST, PUT, DELETE 등)를 활용하여 리소스에 대한 작업을 정의합니다. 예를 들어, GET은 리소스를 조회하고, POST는 리소스를 생성하며, PUT은 리소스를 수정하고, DELETE는 리소스를 삭제하는 역할을 수행합니다.
클라이언트-서버 분리 (Client-Server Separation)
무상태성 (Statelessness)
캐싱 (Caching)
계층화 (Layered System)
유니폼 인터페이스 (Uniform Interface)
코드 온 디맨드 (Code on Demand, Optional)
RESTful API는 다양한 언어와 플랫폼에서 사용 가능하며, 인터넷 상의 다양한 서비스에서 적용되고 있습니다. 이는 웹 서비스 간의 통신과 데이터 교환을 효율적이고 일관성 있게 만들어주는 중요한 웹 개발 개념입니다.
URL(Uniform Resource Locator), URI(Uniform Resource Identifier), URN(Uniform Resource Name)은 웹에서 리소스를 식별하기 위한 용어입니다. 이들은 각각 다음과 같은 의미와 차이점을 가지고 있습니다:
요약하면, URI는 인터넷 상의 모든 리소스를 식별하는 개념이며, URL은 리소스의 위치를 지정하는 식별자입니다. URN은 리소스의 이름을 지정하는 식별자로, 위치와 관계 없이 리소스를 고유하게 식별합니다. URI는 URL과 URN을 모두 포함하는 개념이지만, 실제로는 URL이 가장 많이 사용되고, URN은 덜 일반적으로 사용됩니다.