1. REST : HTTP 의 장점을 활용할 수 있도록 만든 아키텍처
2. REST API : REST 아키텍처에 맞게 설계한 API
3. RESTful API : API 가 REST의 제약을 잘 지킬수록 Restful 하다고 말합니다.
REST
REST (REpresentational State Transfer) 은, Roy Fielding 박사학위 논문에서 최초로 소개되었습니다.
HTTP 의 주요 저자 중 한 사람으로 그 당시에 HTTP 설계의 우수성에 비해 제대로 사용되어지지 못하는 모습에 장점을 최대한 활용할 수 있는 아키텍처로 REST 를 발표하였습니다.
REST 구성
ReSource
- 자원의 위치를 정의합니다.
- Client 는 URI 를 이용하여 자원에 접근할 주소를 최종 호출 단위까지 명확하게 특정합니다.
Verb
- 자원에 대한 행위를 정의합니다 (HTTP Method)
- Client 는 HTTP Method 를 이용하여 지정한 자원에 대한 조작을 요청합니다.
Representation
- 자원에 대한 행위의 내요을 정의합니다.
- Client가 Server에 자원에 대한 조작을 요청할 때, 조작에 필요한 데이터를 메시지로 표현하여 전송합니다.
HTTP Method ( REST API 에서 주로 사용되는 HTTP Method )
HTTP Method | Type | 설명 | 페이로드 |
PUT | Replace | 리소스 전체 교체 | O |
POST | Create | 리소스 생성 | O |
PATCH | Modify | 리소스 부분 교체 | O |
GET | Read | 리소스 조회 | X |
DELETE | Delete | 리소스 삭제 | X |
* 페이로드 : 여기서는 Message를 의미합니. 흔히, Body 에 Json Type 으로 Data 를 넘겨주는데 이같은 경우가 해당됩니다.
REST 데이터 포맷
흔히, 데이터를 JSON 형식으로 전송하고 JSON 형식으로 받기 때문에 JSON 만가능한 것으로 착각하는 경우가 있습니다.
그러나, JSON, HTML, XML, JavaScript, TEXT 등 다양한 포맷을 지원합니다.
'BackUp (관리중지) > CS 학습' 카테고리의 다른 글
개발자 기초지식 [ 내용요약 ] (0) | 2022.11.12 |
---|---|
DI (Dependency Injection ) (0) | 2021.04.29 |
Java GC (0) | 2021.04.28 |
GC ( Garbage Collection ) (0) | 2021.04.28 |
동시성 이슈 (0) | 2021.04.27 |