REST API

alllloha·2021년 9월 23일
0

REST : 웹 (HTTP) 의 장점을 활용한 아키텍쳐
(REpresentational State Transfer)

REST의 요소

1. Method : http 메소드
post(create), get(select), put(update), delete(delete)
2. Resource : URI
+ URL과 URI의 차이
URI : 특정 리소스를 식별하는 통합 자원 식별자
URL : 컴푸터 네트워크 상에서 리소스가 어디 있는지 알려주기 위한 규약. URI의 서브셋
URI는 식별하고, URL은 위치를 가리킨다

모든 것을 Resource(명사)로 표현하고, 세부 Resrouce에는 id를 붙인다.

3. Message : JSON, XML 형태의 메시지 포맷

REST 특징

  1. Uniform ( 유니폼 인터페이스 )
    URI로 지정한 리소스에 대한 조작을 통일되고 한정적인 인터페이스로 수행하는 아키텍처 스타일

  2. Stateless ( 무상태성 )
    작업을 위한 상태정보를 따로 저장하고 관리하지 않는다. API서버는 들어오는 요청만을 단순히 처리하면 되기 때문에, 서비스의 자유도가 높아지고 구현이 단순해진다.

  3. Cacheable ( 캐시 가능 )
    HTTP라는 기존 웹표준을 그대로 사용하기 때문에, 웹에서 사용하는 기존 인프라를 그대로 활용 가능. 따라서 HTTP가 가진 캐싱 기능을 적용 가능하다.
    ( 캐싱 - 이미 가져온 데이터나 계산된 결과값의 복사본을 저장함으로써 처리속도를 향상, 향후 요청을 더 빠르게 처리할 수 있다. )

  4. Self-descriptiveness ( 자체 표현 구조 )
    REST API 메시지만 보고도 쉽게 이해할 수 있다.

  5. Client-Server 구조
    서버 : API제공 / 클라이언트 : 사용자 인증이나 컨텍스트 관리 와 같이 각각의 역할이 구분되어 클라이언트와 서버에서 개발해야할 내용이 명확해지고 서로간 의존성이 줄어든다.

  6. 계층형 구조
    REST 서버는 다중 계층으로 구성될 수 있으며 보안, 로드 밸런싱, 암호화 계층을 추가해 구조상의 유연성을 둘 수 있고 PROXY, 게이트웨이 같은 네트워크 기반의 중간매체를 사용할 수 있게 한다.

API (Application Programming Interface)

응용프로그램에서 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 하는 것


참고자료
1. https://meetup.toast.com/posts/92
2. https://gyoogle.dev/blog/web-knowledge/REST%20API.html

0개의 댓글