본문 바로가기
Server, DevOps

[Server] 쉽게 설명하는 Restful API (+REST란? Restful Architecture?)

by lumayi 2021. 10. 11.

오늘의 기술 포스팅은 바로

Restful API~!

 

Resful API는 개발 공부를 시작할 때부터 많이 나왔던 용어였지만

찾아봐도 뜻을 모르겠어서 조용히 뒤로 가기를 눌렀다가

이제야 제대로 공부를 해봤다!

 

저처럼 "restful은 뭐 좋은거겠지~"

생각해왔던 사람은 이 포스팅을 꼭 보세요!

 

 

Restful API를 찾아보면 정의는

"Representational State Transfer"이며,

 

웹에서 사용되는 여러 리소스를 HTTP URI로 표현하고,

해당 리소스에 대한 행위를 HTTP Method로 정의하는 방식이라고 한다.

 

응?..

 

분명 예전의 나처럼

그래서 이게 무슨 말인데 싶은 사람들이 있을거라 생각한다!

 

 

고로 API의 뜻부터 찬찬히 풀어보려한다.

 

 

API(Application Programming Interface)란?

 

웹을 기준으로 설명해보자면

사용자가 있고 브라우저(크롬, 사파리 등)가 프로그램이 있고 서버가 있다.

 

그 프로그램과 브라우저와 서버가 서로 소통하도록 도와주는 것이 API이다!

파일을 제어하고, 문자를 제어하고, 화상 처리를 하는 인터페이스를 제공한다!

 

예를 들면 내가 카카오맵 API를 사용한다면,

굳이 다음에서 검색할 필요가 없이 카카오맵의 정보를 사용할 수 있게 된다.

API에서 다 제공해주기 때문이다!

 

 

이제 RESTful로 다시 돌아와서!

 

"웹에서 사용되는 여러 리소스를 HTTP URI로 표현하고,

해당 리소스에 대한 행위를 HTTP Method로 정의하는 방식"

 

곧 여러 리소스에 대한 CRUD 요청을 뜻하고,

그 요청을 Resource(URI)Method(POST/GET)로 표현하여

특정한 형태로 전달하는 방식이다!

 

(CRUD는 Create, Read, Update, Delete의 약자이다!)

 

예를 들어,

쇼핑몰의 어떤 셔츠가 맘에 들어서 장바구니에 담는다!

그러면 장바구니에 내 셔츠의 update 요청이 생길것이다!

그 장바구니 추가 버튼에 http://localhost:8080/basket의 주소(URI)로 표현하여

Get방식이나 Post방식으로 서버에 정보를 전달되도록 하는 것이 바로 Restful API이다!

 

결국 이렇게

REST

[Resource(자원-장바구니추가 등),

Method(get/post등의 방식),

Representation of Resource(Json,XML 등)

규칙을 잘 지킨 것을 Restful API라고 하는 것이다!

 

 

그래서 결국 이게 왜 좋은데? 라고 묻는다면?!

 

1. API의 목적이 무엇인지 명확하게 알 수 있고,

2. URI의 요청이 어느 플랫폼(ios, android 등)에서든 일관되기에 특정 기술에 종속되지 않으며,

3. 서버의 무상태성덕분에 의존성이 줄어드는 등 다양한 장점이 있다!

 

더 많은 장점을 알고싶다면

아래의 링크에서!!

 

 

참고 출처:

https://mangkyu.tistory.com/46

반응형