일차가 많아지니까 한번 까먹으면 처음부터 다시 세야한다. 그냥 적지말까...
REST API
REST API에서 REST는 "Representational State Transfer"의 약자로, 로이 필딩의 박사학위 논문에서 웹(http)의 장점을 최대한 활용할 수 있는 아키텍처로써 처음 소개되었다. REST API는 웹에서 사용되는 모든 자원을 HTTP URL로 표현하고, HTTP Method를 통해 요청과 응답을 정의하는 방식을 말한다. REST API를 사용한다는 것은 REST 아키텍처의 제약조건을 준수한다는 말이다.
Endpoint
- root-endpoint(혹은 root-URL) : API로 요청을 서버와 통신할 때, 서버가 요청을 수락하는 시작점을 뜻한다.
- path : path(또는 url-path)는 API를 통해 서버와 통신할 때, 서버와 통신할 수 있는 key 역할을 한다. 서버에 정의된 문자열에 따라 path가 달라진다.
API 작성 가이드
코드스테이츠에서 4가지 작성 가이드를 소개한다. 그 중에 내가 선택할 가이드는 구글 API 작성 가이드이다.
왜냐하면 구글이니까~ 나중에 읽어보고 정리해 봐야겠다.
Open API
정부에서 제공하는 공공뎅터가 있다. 공공데이터에 쉽게 접근할 수 있도록 정부는 Open API의 형태로 공공데이터를 제공하고있다.
"Open"이 붙어있어 글자 그대로 열려있는 API이다. 그렇다고 "무제한으로 이용할 수 있다"는 의미는 아니다. 기관마다 API마다 정해진 이용 수칙이 있고, 그 이용 수칙에 따라 제한사항(가격, 정보의 제한 등)이 있을 수 있다.
전 직장에서 open API를 사용할 상황이 있었다. 하지만 대부분 유료였으며 제한적으로 무료로 사용할 수 있다. 이 주제로 동료들과 얘기를 했었는데 결론은 "비용"때문이다. 만약 API를 무료로 풀게 되면 트래픽이 몰리게 되며 처리하기 위해선 비용이 올라간다. 그래서 제한적이고 사용량이 늘어나면 과금할 수 밖에 없다.
API Key
API를 이용하기 위해서는 API Key가 필요하다. API key는 인증키라고 생각해도 된다.
클라이언트의 요청에 따라 서버에서 응답한다는 말은 결국 서버를 운용하는 데에 비용이 발생한다는 말이다. 따라서 서버 입장에서 아무런 조건 없이 익명의 클라이언트에게 데이터를 제공할 의무도, 이유도 없다. (가끔 필요하지 않은 경우도 있다.)
그래서 로그인된 이용자에게만 자원에 접근할 수 있는 권한을 API Key의 형태로 제공하고, 데이터를 요청할 때 API key를 같이 전달해야만 원하는 응답을 받을 수 있다.
오래만에 전 직장에서 쓰던 게 나왔다. 이렇게 보니까 반갑다.
전 직장에선 회사 내에서 사용할 REST API를 만들긴 했지만, 정확한 의미를 모르고 사용했다.
'왜 그때는 REST API를 찾아보지 않았을까'
나태했던 과거의 나 용서 못한다.
'TIL > Code States' 카테고리의 다른 글
Code States 39일차 - React 컴포넌트 디자인 (0) | 2021.09.13 |
---|---|
Code States 35일차 - React 데이터 흐름의 이해와 비동기 요청 처리 (1) | 2021.09.06 |
Code States 33일차 - HTTP/네트워크 기초 (1) | 2021.09.02 |
Code States 31일차 - 비동기 (0) | 2021.09.02 |
Code States 28일차 - 자료구조 기초 (1) | 2021.08.26 |