REST : REpresentational State Transfer 약어

REST가 디자인 패턴이 됨

API 설계의 중심에 자원(Resource)가 있고 HTTP Method를 통해 자원을 처리하도록하는 설계

 

REST 6가지 원칙

1. Uniform Interface

2. Stateless

3. Caching

4. Client-Server
5. Hierarchical system

6. Code on demand

 

RESTful하게 API를 디자인 하는 것

1. 리소스와 행위를 명시적이고 직관적으로 분리

- 리소스는 URI로 표현하는데 명사로 표혀할 것

- 행위는 http method로 표현하고 get, post, put, patch, delete를 분명한 목적으로 사용

2. Message는 Header와 Body를 명확하게 분리해서 사용

- Entity에 대한 내용은 body에 담기

- 서버가 행동할 때 판단의 근거가 되는 컨트롤 정보(api 정보, mime 타입)는 header에 담기

- header와 body는 http header와 http body로 나눌 수 있음 또는 http body에 들어가는 json구조로 분리 가능

3. API 버전을 관리할 것

- 특정 API를 변경할 시 하휘호환성을 보장

4. 서버와 클라이언트가 같은 방식을 사용해서 요청

- json이라면 json, form-data면 form-data로 같은 방식을 사용

- 즉 URI가 플랫폼 중립적이어야함

 

RESTful의 장점

1. Open API 제공이 용이

2. 멀티플랫폼 지원 및 연동 용이

3. 원하는 타입으로 데이터 송수신 용이

4. http 그대로 사용 가능

 

RESTful의 단점

1. 메소드가 crud 뿐

2. 분산환경에는 부적합

3. http 통신 모델에 한정

 

반응형

'SW ENGINEERING > Programing' 카테고리의 다른 글

Python Socket : 1대1 채팅  (0) 2021.06.28
Python Socket  (0) 2021.06.21
ERROR 처리  (0) 2021.03.08
endpoint vs api  (0) 2021.03.02
Rainbow attack  (0) 2021.03.01
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기