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 응답상태코드 : 리소스 요청에 대한 응답의 상태를 상태코드 형태로 전달 |