참고: gmlwjd9405.github.io/2018/09/21/rest-and-restful.html
Rest API
REST(Representational State Transfer)
> HTTP URI(Uniform Resource Identifier) ▶ 자원(Resource) 명시
> HTTP Method(GET, POST, PUT, DELETE) ▶ 자원에 대한 CRUD Operation 적용
REST 구성요소
- 자원(Resource): URI
- 행위(Verb): HTTP Method
- 표현(Representation of Resource): Client ▶ Server 요청 시 Server에서 응답을 보냄
RESTAPI
- REST 아키텍처의 제약 조건을 준수하는 애플리케이션 프로그래밍 인터페이스
- API: 시스템간의 상호작용을 위한 인터페이스
RESTful
- REST 아키텍처를 구현하는 웹 서비스를 나타내는 용어
ex) REST API를 제공하는 웹 서비스는 RESTful하다.
Restful 성숙도 모델
4단계로 구분
레벨 0
- HTTP POST method만 사용 ▶ Request Body 이용
- 매개변수로만 분기
- 단기 Endpoint
레벨 1
- HTTP GET, POST method
- Resource 지원 ▶ 고유한 URI 사용
- 복수의 Endpoint
레벨 2
- 일반적으로 웹 개발을 할 때 가장 많이 사용하는 레벨
- HTTP GET, POST, PUT ,DELETE: method를 각 동사에 맞춰서 사용(CURD)
- 요청 쿼리 매개변수 및 본문, 매개변수 지정
- GET 요청 시 HTTP Cache 활용 ▶ 멱등성 보장(항상 같은 결과 보장)
- 각 상황에 맞는 HTTP status code 응답
레벨 3
- APi 서비스의 모든 Endpoint를 최초 진입점이 되는 URI(서버 Root)에 요청 시, Hypertext Link 형태로 제공
- API 목록, API Endpoint 의존성 표현 ▶URI 변경에 Client는 유연하게 반응
'IT > CS' 카테고리의 다른 글
[프레임워크] Spring Framework (0) | 2021.04.14 |
---|---|
[Web] 쿠키/세션/캐시 (0) | 2021.04.13 |
[Java] Java란? (0) | 2021.04.12 |
[DB] MariaDB vs MySQL 차이점 (0) | 2021.04.12 |
[알고리즘] ArrayList vs LinkedList (0) | 2021.04.05 |