프로젝트

일반

사용자정보

REST API » 이력 » 버전 1

이태훈, 2022/08/02 07:38

1 1 이태훈
h1. REST API
2
3
 * REST는 웹의 장점을 최대한 활용하기 위한 아키텍처로 HTTP기반으로 필요한 자원에 접근하는 방식이며 REST API는 이러한 REST를 통하여 API를 구현한 상태이다.
4
5
h2. 1) REST 특징
6
7
 * 모든 resource는 HTTP 메소드(GET, POST, PUT, DELETE)를 사용하여 접근한다.
8
 * 클라이언트와 서버의 역할이 분리되고 서버 사이드의 모든 resource는 resource별로 클라이언트가 접근 가능한 URI를 가지고 있다.
9
 * 모든 요청은 클라이언트가 요청할 때마다 응답을 주기 때문에 상태 정보를 기억할 필요가 없어 자유도가 높고 구현이 쉽다.
10
 * HTTP 표준에 따르는 모든 플랫폼에서 사용 가능하다.
11
12
h2. 2) REST 단점
13
14
 * Point-to-Point 통신 모델을 가정하므로 둘 이상으로 상호 작용하는 분산 환경에는 유용하지 않다.
15
 * 보안, 정책 등에 대한 표준이 없다.
16
 * HTTP 통신 모델만 지원한다.
17
18
h2. 3) HTTP 메소드 분류
19
20
|_. Method Type|_. Description|
21
|_. GET|=. 요청된 리소스를 조회(READ)|
22
|_. POST|=. 요청된 리소스를 생성(INSERT)|
23
|_. PUT|=. 요청된 리소스를 수정(UPDATE)|
24
|_. DELETE|=. 요청된 리소스를 삭제(DELETE)|
25
26
h2. 4) REST API 메시지
27
28
|_. HTTP 요청 헤더 포멧||_. HTTP 응답 헤더 포멧|
29
|=. Request Line||=. Status Line|
30
|=. Header||=. Header|
31
|=. (White Space)||=. (White Space)|
32
|=. Body||=. Body|
33
34
 * HTTP header : HTTP Body에 데이터가 어떤 데이터 포멧으로 담겼는지 정의
35
 * HTTP Body : 리소스를 정의 된 데이터 포맷으로 전달
36
 * HTTP 응답상태코드 : 리소스 요청에 대한 응답의 상태를 상태코드 형태로 전달