REST API는 대체 뭘까

daybyday·2020년 12월 19일
0

Web

목록 보기
2/5
post-thumbnail

REST API가 뭔데요...

웹 프론트엔드 공부를 하면서 REST API라는 용어는 많이 봤다. 그런데 설명을 읽어봐도 이게 대체 무슨 말인지 이해가 되지 않는 거다. 아니, 그래서 이걸 어디다 쓰는 거고 어떨 때 REST API를 썼다고 하는 건지 전혀 와닿지 않는다구요.

글로 설명이 나열되어 있는 것 보다는 말로 이해하는 게 낫겠다 싶어서 유튜브를 들어갔는데 나는 API가 무엇인지는 정확히 이해하고 있나? 그것도 아닌 것 같았다. 그래서 API가 뭔지나 이해하고 REST API로 넘어가야겠다고 생각했다.


API란?


위 영상이 설명도 간단하면서 예시도 잘 들어놔서 단번에 이해하기 쉬웠다.

API는 요청(Request)을 받는 메신저이다.
클라이언트가 어떤 요청을 하면, 서버가 그 요청을 받아서 클라이언트에게 response 해준다.


예를 들어 레스토랑을 떠올려보자.

레스토랑
- 웨이터 = API
- 손님 = 클라이언트
- 주문 = Request
- 주방 = 서버
- 주문한 음식 = Response


레스토랑에서 손님이 음식을 주문 -> 주문한 내용을 주방에 전달 -> 만들어진 음식을 손님에게 서빙 => 중간에 웨이터가 필요하다!

✨ API는 요청 받은 내용을 서버에 전달하고, 그 요청을 받은 서버의 결과값을 클라이언트에게 전달해주는 연결고리 역할이다.

항상 여행을 갈 때는 스카이스캐너 같은 항공권 비교 사이트를 이용했었다. 지금은 갈 수 없지만... 아무튼 항공권 가격비교를 하려면 출발지, 도착지, 날짜, 좌석 수 등을 선택하고 검색해야 한다.

가격비교를 하면 하나의 항공사만 나오는 게 아니라 여러 항공사의 항공편이 검색된다. 여러 항공사의 API 서버에 요청한 정보를 전달하고 받은 응답을 출력해주는 것이다.

그래서 REST API란?

REST - 네트워크를 통해 컴퓨터들끼리 통신할 수 있도록 해주는 아키텍처 스타일.

REST API는 API에서 클라이언트와 서버가 통신할 때 사용하는 하나의 통신 방식(소통하는 방식)이고, RESTful API는 통신을 위해 REST 방식을 따르는 API라고 이해하면 될 것 같다.

로이 필딩이라는 사람의 논문에서 소개 되었다는데, HTTP의 장점을 잘 이용하지 못하는 것에 안타까워하며 '이렇게 이렇게 쓰는 게 HTTP의 장점을 최대한 활용하고 좋을듯' 하고 소개한 가이드라인이라고 하면 맞으려나.

표준 규격은 아니고 가이드라인이기 때문에 안지키면 안된다..는 아니지만 사실상 거의 표준처럼 사용되고 있다.


위 영상에서 RESTful API를 사용하는 예제가 나온다.

인스타그램 API를 활용하여 특정 위치의 게시물을 가져오려면

  • https://api.instagram.com/v1/media/search 라는 엔드포인트에 접근
  • 정보를 가져와야하므로 GET이라는 method를 사용
  • 위치 정보를 파라미터로 보냄
  • response 탭에 json 형식으로 출력




REST API가 무엇인지 대충 감은 잡은 것 같은데... 아무래도 여러번 써보면서 더 알아가야할 것 같다.

0개의 댓글