비슷하면서도 다른 REST API와 RESTful API를 알아봅시다.
REST(Representational safe transfer) : HTTP를 통해 조작하는 아키텍처 스타일
RESTful API : REST 아키텍처의 제약 조건을 준수하는 웹 API (RESTful한 API)
REST API와 RESTful API의 개념과 차이점
REST API란? Representational State Transfer
네트워크 애플리케이션을 디자인하기 위한 아키텍처 스타일로, HTTP 프로토콜을 이용하여 클라이언트에 공개되는 리소스, 객체, 문서 또는 데이터를 중심으로 구축됩니다. 또한 REST API 는 GET, POST, PUT, DELETE와 같은 표준적인 조작을 통해 주고습니다.
- 클라이언트와 서버가 HTTP 프로토콜을 사용합니다.
- HTTP 메서드(GET, POST, PUT, DELETE 등)를 사용하여 리소스 조작합니다.
- JSON이나 XML등의 포맷을 사용합니다.
- 응답은 캐시 가능해야 하며, HTTP 헤더를 사용하여 캐시 제어를 할 수 있습니다.
REST API는 신속한 개발과 유연성이 열쇠가 되는 상황에서 특히 유리합니다. 표준적인 HTTP 메소드를 사용해 통신할 수 있기 때문에, 신속한 프로토타입이 요구되는 프로젝트나, 다양한 기술이나 언어를 사용하는 경우에 최적입니다.또한 REST API는 일반적으로 사용하는 대역폭이 적기 때문에 대역폭이나 리소스가 한정되어 있는 일반용 웹 서비스에도 적합합니다.
RESTful API란?
REST의 원칙을 철저히 준수하며, 리소스와 행위를 명확하게 분리하여 설계된 API를 말합니다. HTTP 메서드를 사용하여 리소스를 조작할 수 있으며 URI를 통해 리소스를 고유하게 특정할 수 있습니다.
REST API 와 RESTful API의 차이점
URI 디자인, HTTP 메서드, 파라미터
REST API | RESTful API |
/fetchAllBooks, /createNewBook 함수 기반의 URI를 사용합니다. |
/books, /books/1 리소스 중심의 URI를 사용합니다. |
/createNewBook URI에 동사를 포함하여 액션을 표현합니다. |
POST /books HTTP 메서드를 사용하여 액션을 표현합니다. |
/getBookDetails?id=1 쿼리 파라미터를 통해 리소스를 식별합니다. |
/books/1 URI 경로를 통해 리소스를 식별합니다. |
'IT지식' 카테고리의 다른 글
RDB란 무엇인가?[관계형데이터베이스] (1) | 2024.06.03 |
---|---|
아파치 톰캣의 기초[Apache Tomcat] (0) | 2024.05.30 |
프로토콜 무엇인가?[Protocol?] (0) | 2024.05.28 |
JAVA SE와 JAVA EE란?[JAVA SE, JAVA EE] (0) | 2024.05.27 |
웹 서버와 웹 애플리케이션 서버의 차이[WEB VS WAS] (0) | 2024.05.22 |