1 minute read

오늘은 어제 배웠던 HTTP / 네트워크의 내용들을 직접 해보면서 이 녀석들이 어떻게 주고받고, 서로 상호작용 하는지 알아보았다.

그 전에 알아둬야 할 것들을 살펴보자.

REST API (Representational State Transfer API)

웹에서 사용되는 모든 자원 (글, 이미지, 영상 등등..)을 HTTP URI로 표현하고,

HTTP Method를 이용해 요청과 응답을 정의 하는 약속, 양식(국룰)을 말한다.

단지 형식이기 때문에 어떠한 기술등에 구애를 받지 않는다.

때문에 ‘REST API를 사용한다’ 라는 말은 REST의 형식을 지킨다는 말이다.

모든 자원을 HTTP URI로 표현한다는것을 조금 더 살펴보자.

예를들어, BMW DB에 차량 정보를 요청할때,

https://BMW.com/automobile

→ 위 주소는 BMW의 automobile들을 불러올 것이라고 예측할 수 있고,

https://BMW.com/automobile/4series

→ 위 주소는 automobile 목록에서 4시리즈 목록을 불러온 것이라고 예측할 수 있다.

여기까지 웹에서 사용되는 자원들을 나타낸 것(URL)이고,

https://BMW.com/automobile/4series?since=2022

→ 위 주소와 같이 2022년식의 차량만 불러오는 조건을 붙인다면, 웹에서 사용되는 자원을 구조와 함께 나타내는 것을 URI로 표현한다고 한다.

이렇게 이름만으로 무엇을 의미하는지 쉽게 예측할 수 있고, 그것들(자원)과 구조를 함께 나타낸 녀석들에 HTTP Method를 이용해 요청과 응답을 이루면, 그것을 REST API를 사용했다고 말할 수 있을것이다

API는 어제 배웠던 내용대로, ‘클라이언트가 서버의 리소스를 활용하기 위한 설명서’ 라고 생각하면 되고,

그 API를 사용하기 위해서는 몇가지를 먼저 알아둘 필요가 있다.

Endpoint

→ 기본적으로 클라이언트가 API를 사용하기 위해서는 당연히 서버의 리소스에 접근해야 한다.

이 때, API가 서버의 리소스에 접근할 수 있도록 하는 URL이 Endpoint이다.

root-endpoint (또는 root-URL)

→Github API의 root-endpoint는 https://api.github.com이고, 일반적으로 도메인 주소의 루트(/)를 가르킨다.

path (또는 url-path)

→ API를 통해 서버와 통신할 때, 서버와 통신할 수 있는 key 역할을 한다.

https://api,guthub.com/user의 path는 ‘user’이다.

이제 위와 같은 페이지에 내용을 추가하거나, 조회하는 등의 일을 하고 싶으면 어제 배웠던

HTTP method (GET, POST, PUT, PATCH, DELETE 등)를 사용하면 된다.

예를 들어, https://api.github.com/user의 내용을 조회(read)하고 싶다면,

GET /https://api.github.com/user와 같이 GET method를 사용하고,

내용을 추가 (create)하고 싶다면,

POST /https://api.github.com/user와 같이 POST method를 사용한다.

POST를 하기 위해선 본문의 형식 등을 정하고 함께 보내야 하는데,

현재 나의 레벨을 감안했을 때

아주 편리한 웹 애플리케이션인 Postman을 이용해서 응답과 요청을 연습하자!

Updated: