HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
📝
남득윤 학습 저장소
/
Rest API Design Rulebook
Rest API Design Rulebook
Rest API Design Rulebook

Rest API Design Rulebook

태그
API
날짜
지음
마크 마세
notion image
notion image
일관성 있는 웹 서비스 인터페이스 설계를 위한 REST API 디자인 규칙
 

1장 Rest 소개

1990년 12월 팀 버너스리의 Web에 대한 정의
  • URI, Uniform Resource Identifier
    • 모든 웹 도큐먼트에 할당된 유일한 주소
  • HTTP, Hyper Text Transfer Protocol
    • 인터넷을 통해 컴퓨터가 통신하기 위한 메시지 기반언어
  • HTML
    • 정보를 제공하는 도큐먼트를 표현하기 위한 하이퍼텍스트 마크업 언어
 
1993년 아파치 HTTP 서버 프로젝트를 시작한 로이 필딩의 관심사는 웹 확장성
로이필딩이 제안한 웹의 확장성을 달성하기 위한 여섯 가지 제약점
Web’s architectural style
  1. Client/Server
  1. Uniform Interface
    1. 리소스 식별
    2. 표현을 통한 리소스 처리
    3. Self-descriptive message
    4. HATEOAS
  1. Layered System
  1. Cache
  1. Stateless
  1. 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 ]