REST API와 RESTful API는 웹 기반의 서비스 간 통신 및 상호작용을 위한 아키텍처 스타일인 REST(Representational State Transfer)를 기반으로 하는 두 가지 주요 API 유형이다.
REST API (Representational State Transfer API):
- REST API는 웹 서비스 간 통신을 위한 아키텍처 스타일인 REST를 따르는 API를 의미한다.
- REST API는 자원(데이터, 서비스)을 URI(Uniform Resource Identifier)를 통해 표현하고, HTTP 메소드(GET, POST, PUT, DELETE 등)를 사용하여 자원에 대한 동작을 정의한다.
- REST API는 HTTP 상태 코드를 사용하여 요청의 결과를 나타내며, 주로 JSON 또는 XML과 같은 표준 데이터 포맷을 사용하여 데이터를 교환한다.
- REST API는 자원 간의 상태 전이를 표현하고, 상태를 클라이언트와 서버 간에 전달하여 상호작용을 지원한다.
RESTful API:
- RESTful API는 REST 아키텍처 원칙을 엄격하게 따르고, 이러한 원칙을 준수하는 API를 의미한다.
- RESTful API는 몇 가지 주요 원칙을 따른다. 이러한 원칙은 다음과 같다:
- 자원 식별: 모든 자원은 고유한 URI로 식별되어야 한다.
- 자원 상태 표현: 자원의 상태를 표현하는 방식으로는 JSON 또는 XML과 같은 표준 포맷을 사용한다.
- 상태 전이: 클라이언트는 서버와의 상태 전이를 통해 자원에 대한 조작을 수행한다.
- 상태를 저장하지 않음 (Stateless): 서버는 클라이언트의 상태를 저장하지 않으며, 각 요청은 필요한 정보를 포함해야 한다.
- RESTful API는 간결하고 직관적인 URI를 사용하며, HTTP 메소드를 사용하여 자원에 대한 조작을 나타낸다.
요약하면,
REST API는 REST 아키텍처 스타일을 따르는 모든 API를 일반적으로 의미하며, RESTful API는 REST 원칙을 엄격하게 준수하고 있는 API를 가리킨다.
RESTful API는 REST 아키텍처의 원칙을 준수하여 자원을 식별하고 표현하며, 클라이언트와 서버 간의 상태 전이를 통해 상호작용하는 웹 서비스를 구축하는 데 사용된다.
'JAVA' 카테고리의 다른 글
[JAVA] pom.xml에 의존성(라이브러리) 추가 방법 (0) | 2023.11.04 |
---|---|
[JAVA] MAVEN과 GRADLE (0) | 2023.11.04 |
[JAVA]MyBatis (0) | 2023.10.27 |
[JAVA] 쿠키와 세션 (0) | 2023.10.19 |
[JAVA]GET과 POST (2) | 2023.10.18 |