ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • REST API 탄생 배경과 특징
    2020. 11. 12. 00:04

    REST API 배경


    • REST는 REpresentational State Transfer의 약자로 2000년도 로이 필딩 (Roy Fielding)의 박사학위 논문에서 최초로 소개
    • 로이 필딩은 HTTP의 주요 저자중 한 사람으로서 웹(HTTP) 설계의 우수성에 비해 제대로 사용되지 못하는 모습에 안타까워하며 웹의 장점을 최대한 활용할 수 있는 아키텍쳐로써 REST를 발표

    REST의 구성


    • 자원(Resource): URI
    • 행위(Verb): HTTP METHOD
    • 표현(Representations)

    REST의 특징


    1. Uniform Interface(유니폼 인터페이스)

    • Uniform Interface는 URI로 지정한 리소스에 대한 조작을 통일되고 한정적인 인터페이스를 수행하는 아키텍쳐 스타일을 말함

     

    2. Stateless(무상태성)

    • REST는 무상태성을 갖음(작업을 위한 상태정보가 저장, 관리 x)
    • 세션 정보나 쿠키정보를 별도로 저장하지 않고 관리하지 않기 떄문에 API서버는 들어오는 요청에 대해서만 처리
    • 따라서, 서비스의 자유도가 높아지고 서버에 불필요한 정보를 관리하지 않음으로써 구현이 단순

     

    3. Cacheable(캐시 가능)

    • REST의 가장 큰 특징중에 하나는 HTTP라는 기존 웹표준의 특성을 그대로 사용하기 떄문에, 웹에서 사용하는 기존 인프라를 그대로 활용 가능
    • 따라서, 캐싱 기능 적용 가능
    • HTTP 프로토콜 표준에서 사용하는 Last-Modified태그나 E-Tag를 이용하면 캐싱 구현이 가능

     

    4. Self-descriptiveness(자체 표현 구조)

    • REST의 또 다른 특징중 하나는 REST API 메시지만 보고도 이를 쉽게 이해 할 수 있는 자체 표현 구조로 되어 있음

     

    5. Client-Server 구조

    • REST 서버는 API 제공, 클라이언트는 사용자 인증이나 컨테스트(세션, 로그인 정보)등을 직접 관리하는 구조
    • 역할이 확실히 구분되기 떄문에 개발해야 할 내용이 명확해지고 서로간의 의존성이 줄어듬

     

    6. 계층형 구조

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

    '' 카테고리의 다른 글

    토큰 인증 방식이란?  (0) 2021.01.24
    JSON Web Token이란?  (0) 2021.01.24

    댓글