REST API

개발 공부 기록·2021년 5월 29일
0

Network

목록 보기
2/9
post-thumbnail

REST API란?

CSR(Client Side Rendering)에서 GET 요청을 통해 웹 페이지를 불러오고 POST 요청으로 새로운 글을 작성하거나 DELETE 요청으로 작성한 글을 삭제하는 등은 클라이언트와 서버의 통신으로 이루어진다.

이처럼 클라이언트의 요청에 따라 서버에서 적절한 응답을 하는 것이 REST API이다.

REST API에서 REST는 “Representational State Transfer” 의 약자로 로이 필딩의 박사학위 논문에서 웹(http)의 장점을 최대한 활용할 수 있는 아키텍처라는 명목으로 처음 등장하였다.

웹상에서 사용되는 자원들을 HTTP URI로 표현하고 HTTP Method를 통해 상태를 정의하는 방식이다.

REST API를 사용한다는 것은 REST 아키텍처의 제약 조건을 준수한다는 말이다.

쉽게 말하자면 HTTP 메소드를 목적에 맞게 적절하게 사용하는 것이다.

Endpoint

  • root-endpoint(혹은 root-URL): API로 요청을 서버와 통신할 때 서버가 요청을 수락하는 시작점 => 도메인 주소의 루트(/)
  • path: path(또는 url-path)는 API를 통해 서버와 통신할 때 서버와 통신할 수 있는 key 역할

Open API

누구에게나 열려있는 API지만 보통은 이용 수칙에 따른 제한(가격, 정보의 제한 등)이 존재한다.

공공 데이터 Open API
날씨 Open API

API Key

서버의 문을 여는 열쇠

대부분의 경우 비용을 들여 자원(resource)을 제공해주는 서버 입장에서 아무런 조건 없이 익명의 클라이언트에게 정보를 줄 이유가 딱히 없기 때문에 생겼다.

회원가입과 같은 방법을 이용해 자원에 접근할 수 있는 권한을 API Key의 형태로 제공해 주고 이를 요청에 같이 전달할 때에만 자원을 이용 가능하다.

HTTP API 테스트

브라우저는 서버에게 HTTP 요청을 보낼 수 있는 훌륭한 도구이지만 GET 요청을 보낼 때만 유용하다.
GET이 아닌 기타 다른 요청을 보내려면 개발자 도구를 이용해 fetch를 이용한 JavaScript 코드를 작성해야한다.

브라우저가 아닌 다른 종류의 HTTP 요청을 테스트할 수 있는 다양한 도구들이 존재하고 많은 API들이 HTTP 프로토콜을 이용하므로 API 테스팅 도구라고 한다.
API 테스팅 도구는 클라이언트 입장에서 서버 API를 테스트하거나 애초에 처음부터 API를 만들 때에도 매우 유용하다.

HTTP API 테스트 도구

  1. CLI
  • curl (대부분 리눅스 환경에 내장됨)
  • wuzz
  1. GUI
  • Postman (가장 사용하기 쉬움)
profile
둔필승총(鈍筆勝聰) - 기억보다는 기록을

0개의 댓글