REST API

유영준·2023년 3월 29일
1

REST API

REST API는 인터넷 프로토콜인 HTTP를 사용하여 클라이언트와 서버 간의 통신을 위한 인터페이스

REST API의 가장 큰 특징 중 하나는 상태를 나타내는 리소스와 그 상태를 변경하기 위한 HTTP 메서드를 사용한다는 것입니다. 즉, REST API에서는 클라이언트가 서버에 요청을 보내면 서버가 해당 리소스의 상태를 변경하거나 새로운 리소스를 생성하게 됩니다. 이러한 방식은 HTTP 메서드인 GET, POST, PUT, DELETE를 이용하여 구현됩니다.

REST 성숙도 모델

성숙도 모델이란 REST API의 수준을 나타내는 모델로, RESTful 웹 서비스를 설계할 때 적용되는 일련의 가이드라인

  1. Level 0 - POX (Plain Old XML): HTTP 프로토콜을 이용해 통신하면서 XML 데이터를 주고 받는 형태입니다. 이 방식은 웹 서비스를 구현하는 가장 기초적인 방법이지만, RESTful한 방식으로 설계되어 있지 않습니다.

  2. Level 1 - Resources: 리소스를 식별하고, URI를 이용해 접근할 수 있도록 설계한 수준입니다. 리소스를 고유한 이름으로 식별하고, HTTP GET 메서드를 통해 리소스를 가져올 수 있습니다.

  3. Level 2 - HTTP Verbs: HTTP 메서드를 이용하여 리소스를 생성, 수정, 삭제하는 기능을 제공합니다. GET, POST, PUT, DELETE와 같은 HTTP 메서드를 이용하여 RESTful한 웹 서비스를 구현할 수 있습니다.

  4. Level 3 - Hypermedia Controls: RESTful한 웹 서비스를 설계하는 최고 수준입니다. 클라이언트가 서버로부터 받은 응답을 이용해, URI를 직접 생성하고 다음에 어떤 동작을 할지 결정할 수 있는 기능을 제공합니다. 이러한 기능은 HATEOAS(Hypermedia as the Engine of Application State)라고 불리며, RESTful한 API를 만드는 데 있어 가장 중요한 요소 중 하나입니다.

Open API

Open API란, 외부 개발자가 해당 기업의 서비스를 사용할 수 있도록 공개된 API

예를 들어, 구글 지도 API는 웹 사이트나 모바일 애플리케이션에서 지도 서비스를 이용할 수 있게 해줍니다. 이를 이용하여, 실시간 위치를 공유하는 앱을 만들거나, 지도를 활용한 블로그 포스트를 작성하는 등 다양한 서비스를 제공할 수 있습니다.

이 API에는 "Open"이라는 키워드가 붙어 있습니다. 글자 그대로 누구에게나 열려있는 API입니다. 그러나 "무제한으로 이용할 수 있다"라는 의미는 아닙니다. API마다 정해진 이용 수칙이 있고, 그 이용 수칙에 따라 제한사항(가격, 정보의 제한 등)이 있을 수 있습니다.

API Key

API Key는 REST API에서 인증 및 권한 부여를 위해 사용되는 키

API Key를 사용함으로써 API의 보안성을 높일 수 있으며, 불법적인 접근을 막을 수 있습니다.

일반적으로 긴 문자열로 구성되며, 인증 요청 시 HTTP 요청 헤더나 쿼리 파라미터 등에 함께 전송됩니다. API Key를 전송받은 서버는 해당 Key를 확인하고, 해당 Key를 소유한 사용자의 권한을 확인하여 API의 사용을 승인하거나 거부합니다.

profile
프론트엔드 개발자 준비 중

0개의 댓글