본문 바로가기

네트워크

REST API란?

REST

Representational State Transfer 의 약자로 월드 와이드 웹(WWW)과 같은 분산 하이퍼 미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식이다. 웹 상의 자료를 HTTP위에서 SOAP나 쿠키를 통한 세션 트래킹 같은 별도의 전송 계층없이 전송하기 위한 아주 간단한 인터페이스를 말한다. 

 

즉,

HTTP URI(Uniform Resource Identifier)를 통해 리소스를 명시하고, HTTP Method를 통해 해당 리소스에 대한 CRUD Operation을 적용하는 것.

 

HTTP Method

- GET

- POST

- DELETE

- PATCH

 

CRUD Opertation

- Create : 데이터 생성 (POST)

- Read : 데이터 조회 (GET)

- Update : 데이터 수정 (PUT, PATCH)

- Delete :  데이터 삭제 (DELETE)

 

REST 구성 요소

- 자원(Resource) : HTTP URI

- 자원에 대한 행위(Verb) : HTTP Method

- 자원에 대한 표현(Representations) : HTTP Message Pay Load

 

REST 아키텍처에 적용되는 제한조건 (특징)

- Server-Client 서버 클라이언트 구조

- Stateless (무상태)

- Cacheable (캐싱 처리 가능)

- Layered System (계층화)

- Uniform Interface (일관된 인터페이스)

 

REST 장점

- HTTP 프로토콜의 인프라를 그대로 사용하므로 별도의 인프라를 구축할 필요가 없다.

- HTTP 프로토콜 서비스의 기본적인 조건만 충족되면 다양한 플랫폼에서 사용가능하다.

 

REST 단점

- 표준 자체가 존재하지 않아 정의해야 한다.

- HTTP Method 형태가 제한적이다.

- 구형 브라우저에서 호환이 되지 않아 지원하지 않는 동작이 많다. (Window explorer) - 서비스 종료 됐으므로 관련 없음.

 

REAT API

REST의 원리를 따르는 API를 의미한다.

 

REAT API 설계 원칙

- URI는 동사보다는 명사, 대문자보다는 소문자

- 마지막에 슬래시를 포함하지 않는다.

- under bar(_) 대신 하이픈(-)을 사용한다.

- 파일 확장자는 URI에 포함하지 않는다.

- 행위를 포함하지 않는다.

 

RESTful 이란?

REST의 원리를 "올바르게" 따르는 시스템을 RESTful 하다고 말한다.

가령, 설계 규칙을 제대로 지키지 않은 시스템은 REST API를 사용하였지만 RESTful 하지는 않다.

 

References

- https://khj93.tistory.com/entry/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-REST-API%EB%9E%80-REST-RESTful%EC%9D%B4%EB%9E%80

- https://ko.wikipedia.org/wiki/REST

 

[네트워크] REST API란? REST, RESTful이란?

REST API란 REST를 기반으로 만들어진 API를 의미합니다. REST API를 알기 위해 REST부터 알아보도록 하겠습니다. REST란? REST(Representational State Transfer)의 약자로 자원을 이름으로 구분하여 해당 자원의 상

khj93.tistory.com