Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- HTML
- CSS
- Project
- Vanilla
- Nomad coder
- 오류
- 프로젝트
- Nomad
- 마무리
- TiMER
- Netflix
- github
- 바닐라 자바스크립트
- javascript
- Clone
- coding
- 클론코딩
- react-hook
- vanilla js
- Nicolas
- expo
- react-native
- Firebase
- scflix
- Hook
- 코코아톡
- 느낀 점
- 계획
- 자바스크립트
- react
Archives
- Today
- Total
꾸매코딩
[용어 정리] REST API (RESTful API) 란 무엇인가? 본문
반응형
개요
REST
- REST 란?
- REST 구성
- REST의 장단점
REST API
- REST API 란?
- REST API 규칙
RESTful API
- RESTful API 란?
요약 및 정리
REST 란?
REST(Representational State Transfer)는 월드 와이드 웹(World Wide Web)과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식이다 - [위키백과]
웹에 존재하는 모든 자원(이미지, 동영상 DB 자원 등..)에 고유한 URI(Uniform Resource Identifier)를 부여.
이러한 자원에 대한 주소를 지정하는 방법론을 의미한다.
REST 구성
구성 요소 | 내용 | 표현 방법 |
Resource | 자원 | HTTP URI |
Verb | 자원에 대한 행위 | HTTP Method |
Representations | 자원에 대한 행위의 내용 | HTTP Message Pay Load |
Resoure
모든 자원에 고유한 ID가 존재하고, 이 자원은 Server에 존재한다.
자원을 구별하는 ID는 /movie/1 같은 HTTP URI이다.
Client는 URI를 이용해서 자원을 지정하고, 해당 자원의 상태에 대한 조작을 Server에 요청한다.
Verb
HTTP 프로토콜의 Method를 사용한다.
GET, POST, PUT, DELETE와 같은 Method를 제공한다.
Representations
Client의 요청에 Sever는 응답(Representation)을 보낸다.
REST에서 자원은 JSON, XML, RSS 등 여러 형태의 응답으로 나타내어질 수 있다.
JSON, XML이 일반적이다.
REST의 장단점
장점
- HTTP 프로토콜의 인프라를 사용하므로 별도의 인프라를 구축할 필요가 없다.
- HTTP 표준 프로토콜에 따르는 모든 플랫폼에서 사용이 가능하다.
- REST API 메시지가 의도하는 바를 명확하게 나타내므로 의도한 바를 쉽게 파악할 수 있다.
단점
- 표준이 존재하지 않는다.
- 사용할 수 있는 메소드가 제한적이다.
- 브라우저를 통해 테스트할 일이 많은 서비스라면 고칠 수 있는 URL보다 Header 값이 어렵게 느껴진다.
- 구형 브라우저가 아직 제대로 지원해주지 못하는 부분이 존재한다 (PUT, DELETE, .... pushState)
REST API 란?
REST 기반으로 서비스 API를 만들면 REST API이다.
REST API 규칙
URI는 정보의 자원을 표현해야 한다.
리소스 명은 동사보다는 명사를 사용한다.
URI는 자원을 표현하는데 중점을 두어야 한다.
// Bad
GET/getMovie/1
GET/movie/show/1
// Good
GET/movie/1
자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE 등)으로 표현한다.
자원들을 HTTP Method으로 처리한다.
// Bad
GET /getMovie/delete/1
// Good
DELETE /movie/1
RESTful API 란?
'REST API'를 제공하는 웹 서비스를 'RESTful' 하다고 할 수 있다.
RESTful은 REST를 REST답게 쓰기 위한 방법으로, 누군가 공식적으로 발표한 것은 아니다.
→ 즉, REST 원리를 따르는 시스템은 RESTful 이란 용어로 지칭된다.
요약 및 정리
REST는 각 요청이 어떤 동작이나 정보를 위한 것 인지, 그 요청의 모습 자체로 추론이 가능하다.
REST API란, 특정한 API를 지칭하는것이 아닌, REST 규칙에 따라 만들어진 API를 의미한다.
→ 데이터가 이동함에 있어, 개발자들 사이에서 널리 쓰이는 형식
RESTful API란, REST 규칙을 따라 API를 만든 API라고 이해해도 충분할 것 같다.
∴ "REST라는 규칙이 있는데, 이를 활용해서 만든 API를 'REST API' 혹은 'RESTful API' 라고 부른다" 정도로 이해하면 될것같다.
참고 자료
https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html
https://ko.wikipedia.org/wiki/REST
https://poiemaweb.com/js-rest-api
반응형