Representational State Transfer
REST(Representational State Transfer)는 월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식이다. 이 용어는 로이 필딩(Roy Fielding)의 2000년 박사학위 논문에서 소개되었다. 그는 하이퍼텍스트 전송 프로토콜(HTTP)의 주요 저자들 가운데 한 사람이다. 그 뒤로 이 개념은 네트워킹 문화에 널리 퍼졌다.
엄격한 의미로 REST는 네트워크 아키텍처 원리의 모음이다. 여기서 네트워크 아키텍처 원리란 리소스를 정의하고 리소스에 대한 주소를 지정하는 방법에 대한 개괄을 말한다. 간단한 의미로는, 도메인 지향 데이터를 HTTP위에서 SOAP이나 쿠키를 통한 세션 트랙킹 같은 부가적인 전송 레이어 없이, 전송하기 위한 아주 간단한 인터페이스를 말한다. 이 두 가지의 의미는 당연히 겹치는 부분과 충돌되는 부분이 있다. 필딩의 REST 아키텍처 형식을 따르면 HTTP 프로토콜을 사용하지 않은 채로 또 월드 와이드 웹에서 전송하지 않고도 아주 커다란 소프트웨어 시스템을 설계하는 것도 가능하다. 또한, 리모트 프로시저 콜을 이용하는 대신에 간단한 XML과 HTTP 인터페이스(REST 원리에 부합하지는 않지만)를 이용해 설계하는 것도 가능하다. 현실 세계에서의 REST 용어에 대한 이러한 두 가지 의미는 기술 토론에서 종종 혼란을 야기한다.
필딩의 REST 원리를 따르는 시스템은 종종 RESTful이란 용어로 지칭된다. 열정적인 REST 옹호자들은 스스로를 RESTafrians 이라고 부른다.
REST란 인터넷의 정보를 조직화하고 전송하는 규칙의 조합
Categories
Application architecture
Front-end(RESTful)와 Web Application 연결 관계도 샘플:
Devnexus2014-application_architecture.png
Use Cookie
RESTful API Documentation Software
- I/O Docs: https://github.com/mashery/iodocs
- Swagger: https://helloreverb.com/developers/swagger
Softwares
- insomnia - Design and debug APIs like a human, not a robot.
- Step CI - Pingdom & Checkly의 경량 대체제 오픈소스
- Hoppscotch - PWA가 지원되는 Open source API development ecosystem.
- Fiddler
- Insomnia
- Postman
- Hapi
- HTTP Toolkit - HTTP 디버깅용 오픈소스
- vim-rest-console - vim에서
.rest
파일 다루기.
API Generation
See also
Favorite site
- Wikipedia (en) REST에 대한 설명
- 당신의 API가 RESTFUL 하지 않은 5가지 증거
- 1. Richardson 성숙도 모델(Richardson Maturity Model)
- RESTful 이란?
- RestFul이란 무엇인가?
- REST 아키텍처를 훌륭하게 적용하기 위한 몇 가지 디자인 팁 1
- [추천] The RESTful CookBook
- OpenAM Developer's Guide: RESTful Web Services
- Best Practices: Understanding REST Headers and Parameters
- Chapter 3. Using RESTful Web Services
About RESTful
- [추천] Should cookies be used in a RESTful API?
- [추천] RESTful Authentication
- [추천] The RESTful CookBook
- [추천] How do I handle authentication in REST?
- [추천] REST as Lightweight Web Services
- [추천] REST API 제대로 알고 사용하기 2
bcho.tistory.com REST 관련 기사
- REST 연재-1회 REST 아키텍쳐의 기본
- REST API 디자인 가이드 3
- REST API 이해와 설계 - #1 개념 잡기 4
- REST API 이해와 설계 - #2 디자인 가이드 5
- REST API 이해와 설계 - #3 보안 가이드 6
- REST API에 대한 보안
Guide
Sample & Reference sites
- GitHub API v3 | GitHub Developer Guide
- REST APIs - NocoDB (List of REST APIs)
- NocoDB API Documentation (Swagger)
References
-
Spoqa_Tech_Blog-REST_good_tip.pdf ↩
-
Meetup_TOAST_Cloud_-_Knowing_and_using_the_REST_API.pdf ↩
-
Bcho_tistory-rest_api_design_guide.pdf ↩
-
Bcho_tistory-understanding_and_design_01-introduce.pdf ↩
-
Bcho_tistory-understanding_and_design_02-api_design.pdf ↩
-
Bcho_tistory-understanding_and_design_03-security.pdf ↩