메뉴 닫기

REST와 API 그리고 REST API

안녕하세요.
스마트폰과 개인PC가 보편화되면서 많은사람들이 인터넷을 이용하고 있습니다.

인터넷을 사용하는 과정 중 마우스 클릭하는 행동으로 원하는 화면이 어떤방식으로 출력되는지 생각해보셨나요? 
오늘은 그 일부인  API에 대한 개념과  REST , REST API에 관한 내용에 관하여 소개하도록 하겠습니다.

REST(Representational State Transfer)


요즘 IT업계에서 많이 사용하는 단어가 있습니다.
REST(Representational State Transfer)의 줄임말로,

개발 방식이 많이 발전하면서 데이터 자원을 주고받는것이
중요해지면서 많이 사용하기 시작했습니다.

REST란 자원(Resource)를 구분하여 자원의 상태를 주고받는 모든 것을 의미하며,
이미지, 동영상, 파일 데이터 등 자원에 대한 URL를 부여하여 활용하는 방식으로 이용합니다. 

※URL :  인터넷에서, 어느 사이트에 접속하기 위해서 입력해야 하는, 주소를 포함한 일련의 문자.
 맨 앞에 `http://’를 입력하고 다음에 해당 사이트의 주소를 표시함.

 

API(Application Programming Interface)


우선 API란 프로그래밍 인터페이스를 지칭하고 있습니다. 
운영체제 혹은 타 어플리케이션과 상호 작용하기 위해 정의된 하나의 약속으로, 

API는 서로 다른 어플리케이션이 데이터나 서비스 기능을
서로 통신하고 공유할 수 있는 표준화된 방법을 제공합니다. 

REST는 클라이언트와 서버 데이터를 기준으로 사용할 수 있는 함수를(GET , PUT , DELETE) 사용하고 있으며,
클라이언트와 서버는 서로 HTTP를 통해 데이터를 교환하는 방식을 통해 통신하고 있습니다.  

REST API(Representational State Transfer Application Programming Interface)



웹 기반 어플리케이션 구축에 익숙하지 않은 개발자라면 “REST API”라는 용어를 들어보고 실제로 무엇을 의미하는지 궁금했을 것입니다.
이번 글에서는 REST API의 특징과 개발자들 사이에서 인기가 높은 이유에 대해 알아보겠습니다.

REST API는 서로 다른 컴퓨터 시스템이 표준 프로토콜을 사용하여 인터넷을 통해 서로 통신하는 방법입니다.
보편적으로 웹 기반 응용프로그램을 만드는 데 사용됩니다.

REST API 3대 특징

REST API의 세 가지 큰 특징은 다음과 같습니다.


1. 자원(resource)

REST API에서는 리소스가 시스템의 중심에 있습니다. 각 리소스는 고유 URL로 식별되며
GET, POST, PUT 및 DELETE와 같은 HTTP 메서드를 사용하여 해당 리소스에 대한 작업을 수행합니다.
※예를 들면 소셜 미디어 앱을 구축하는 경우 리소스는 사용자, 게시물, 댓글 등이 있습니다.


2. 무상태성(stateless)

REST API는 무상태성으로, 클라이언트의 각 요청은 독립적이며 이전 요청에 의존적이지 않습니다.
따라서 확장 가능하고 유지 관리가 용이하며, 상태 비저장 시스템에서 서버는 요청 간에 클라이언트 정보를 저장하지 않습니다.


3. 캐시(Cacheable)

REST API는 캐싱기능을 통해 대량의 요청을 처리할 수 있습니다.
웹 표준 HTTP를 그대로 사용하기 때문에 캐싱 기능을 적용할 수 있으며,

GET-메소드를 Last-Modified 값과 함께 보낼 경우 컨텐츠의 변화가 없을 때
캐시된 값을 사용하기 때문에 API 서버에 요청을 발생시키지 않아 부담이 덜합니다.
※Last-Modified : 헤더는 리소스가 이전에 저장된 리소스와 동일한지 확인하기 위한 유효성 검사기로 사용합니다. 

요약하자면, REST API는 리소스 지향 아키텍처, 상태 비저장 특성 및 캐시 기능으로 인해
웹개발자들이 애플리케이션을 구축하는 데 널리 사용하고 있으며

강력하고 효율적인 웹 기반 애플리케이션을 구축하려는 개발자에게는
이 세 가지 큰 특징을 이해하고 활용하는것을 권장하고 싶습니다.

 RESTful API  



REST API는 REST 아키텍처 스타일을 따르는 API이라면,
RESTful API는 HTTP Protocol을 기반으로 한 아키텍처입니다. 

RESTful API는 REST API와 다른 특징을 가졌는데
아래에서 추가로 설명하겠습니다. 

1.  데이터 포맷

REST API는 XML, JSON , HTML 등 다양한 데이터 포맷을 지원하오나
RESTFul API는 JSON 포맷을 주요 사용하는 특징을 지녔습니다.

2. URL

REST API는 URI가 리소스를 식별하는 용도로 사용하고 있으나,
RESTful API는 리소스의 실체 위치를 나타내는 용도로 설계합니다. 

3. 메소드 

REST API는 HTTP 메소드(GET , POST, PUT , DELETE)을 통해 리소스를 조작합니다.
RESTful API도 HTTP 메소드를 사용하지만 CRUD(Create , Read , Update , Delete)에 대한
메소드를 보편적으로 많이 사용합니다.

REST API와 RESTful API는 일부 특징에서 차이가 있지만, 기본적으로 REST 아키텍처를 따르고,
클라이언트와 서버 간의 상호 작용을 단순화하고 확장성을 높이는 데 활용하고 있다고 보시면 됩니다. 

긴글 읽어주셔서 감사합니다. 

 

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x