[HTTP/Network] REST API, HTTP API Testing

Steve·2021년 5월 24일
0

웹개발 코스

목록 보기
31/59

REST API

  • REST API 문서
  • REST API 디자인
  • Open API와 API Key

Postman

  • HTTP API 테스팅
  • Postman을 사용

Chrome Network Tab


REST API

REST API에서 REST 는 "Representational State Tranfer"의 약자로, 로이 필딩의 박사학위 논문에서 웹(http)의 장점을 최대한 활용할 수 있는 아키텍처라는 명목으로 처음 등장했다. 웹상에서 사용되는 자원들을 HTTP URI 로 표현하고, HTTP Method 를 통해 상태를 정의하는 방식을 말한다. REST API 를 사용한다는 것은 REST 아키텍처의 제약 조건을 준수한다는 것고 같다.

REST API 제대로 알고 사용하기: https://meetup.toast.com/posts/92

Endpoint

root-endpoint (root-URL)은 요청을 보내는 주소의 시작점을 말한다.
예를 들어 깃헙 API 의 root-endpoint 는 https://api.github.com 이다.

REST API Design

REST API 는 공식정으로 정해는 규격이 없다 보니 REST API 특징에 맞춰 조금씩은 다른 모습을 하고 있다. 그러나 좋은 REST API 디자인은 존재한다.
REST API 설계 시 가장 중요한 두 가지 바탕은:

  1. URI 는 정보의 자원을 표현한다.
  2. 자원에 대한 상태 정의는 HTTP method (GET, POST, PUT, DELETE)로 표현한다.

예를 들어, GET user/1122/post 라는 URI 는 REST API 에 부합하지 않는다. POST /user/1122 처럼 표현하는 것이 REST API 규칙에 부합한다.

https://blog.restcase.com/5-basic-rest-api-design-guidelines/

Open API 와 API Key

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

API를 이용하기 위해서는 API Key 라는 것이 필요하다. (서버의 문을 여는 열쇠라고 생각하면 된다.) 간혹 필요하지 않은 경우도 있지만 유상 API 의 경우 회원가입과 같은 방법을 통해 API 접근 권한을 API key 의 형태로 주고, 이를 요청에 같이 전달 때에만 이용할 수 있다.

HTTP 테스팅 도구

서버가 HTTP request 를 제대로 수행하는지 테스트해 볼 수 있다.

CLI

  • curl (대부분의 리눅스 환경에 내장되어 있음)
  • wuzz

GUI

  • Postman

Chrome Network Tab 사용 방법

Inspect Network Activity - Chrome DevTools 101
https://youtu.be/e1gAyQuIFQo

profile
게임과 프론트엔드에 관심이 많습니다.

0개의 댓글