

일관성 있는 웹 서비스 인터페이스 설계를 위한 REST API 디자인 규칙
1장 Rest 소개
1990년 12월 팀 버너스리의 Web에 대한 정의
- URI, Uniform Resource Identifier
- 모든 웹 도큐먼트에 할당된 유일한 주소
- HTTP, Hyper Text Transfer Protocol
- 인터넷을 통해 컴퓨터가 통신하기 위한 메시지 기반언어
- HTML
- 정보를 제공하는 도큐먼트를 표현하기 위한 하이퍼텍스트 마크업 언어
1993년
아파치 HTTP 서버 프로젝트
를 시작한 로이 필딩의 관심사는 웹 확장성로이필딩이 제안한
웹의 확장성을 달성하기 위한 여섯 가지 제약점
Web’s architectural style
- Client/Server
- Uniform Interface
- 리소스 식별
- 표현을 통한 리소스 처리
- Self-descriptive message
- HATEOAS
- Layered System
- Cache
- Stateless
- Code-on-demand
2000년 REST 논문의 등장
Fielding, Roy Thomas. Architectural Styles and the Design of Network-based Software Architectures, Doctoral dissertation, University of California, Irvine, 2000 (http:// www.ics.uci.edu/~fielding/pubs/dissertation/top.htm).
REST 프로토콜이 아닌 제약조건의 집합으로 이루어진 웹의 구조적 스타일이다.
REST Architectural Style에 적합한 Web API를 REST API 라고 한다.
REST API를 제공하는 웹 서비스를 RESTful 하다고 할 수 있다.
URI 식별자 설계
RFC 3986 - 팀 버너스리, 로이 필딩, et al. Uniform Resource Identifier(URI): Generic Syntax
URI = scheme “ :// ” authority “ / ” path [“ ? ” query] [“ # ” fragment ]