길잃은곰
길을 잃어 떠도는 곰
길잃은곰
전체 방문자
오늘
어제
  • 분류 전체보기 (87)
    • Algorithm (6)
    • HTML, CSS (9)
    • Frontend (1)
    • SW공학 (1)
    • WEB (4)
    • Javascript (29)
    • Typescript (0)
    • React (8)
    • Computer Science (11)
    • NEWS (0)
    • TIL(WIL) (4)
    • ETC (5)

블로그 메뉴

  • ✨깃허브
  • 홈
  • 태그
  • 방명록

인기 글

태그

  • 코테
  • Es5
  • 연탄
  • EM
  • Pixel
  • ES8
  • root-element
  • VH
  • JavaScript
  • ES7
  • 코드트리
  • element
  • VW
  • PX
  • javascript2016
  • js2016
  • REM
  • ES6
  • 자바스크립트
  • %
hELLO · Designed By 정상우.
길잃은곰

길을 잃어 떠도는 곰

WEB

[ Web ] REST API

2023. 1. 18. 09:53

REST 란?

  • REST 란, Representational State Transfer 의 약자로, 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든 것을 의미합니다.
  • Respresentational State Transfer 는 HTTP URI 를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE) 를 통해 해당 자원에 대한 CRUD Operation 을 적용하는 것을 의미합니다.

REST 구성 요소

  • REST API 는 자원(Resource), 행위(Verb), 표현(Representations)으로 구성됩니다.
  • 자원(Resource) : HTTP URI
  • 행위(Verb) : HTTP Method
  • 표현(Representations) : HTTP Message

REST 의 특징

  • Server-Client (서버-클라이언트 구조)
    • REST Server : API 제공
    • Client : 사용자 인증이나 Context(세션, 로그인 정보) 등을 직접 관리하고 책임지는 측
  • Stateless (무상태)
    • HTTP 프로토콜은 Stateless Protocol 이므로 REST 역시 무상태성을 갖습니다.
    • Client 의 Context 를 Server 가 알 수 없으며, Request 만을 보고 처리하기 때문에 작업을 마치고 나면 Client 의 Context 는 사라집니다.
    • Server 는 각각의 요청을 완전히 별개의 것으로 인식하고 처리하므로, Client 의 이전 요청 정보를 현재 요청에서 참조할 수 없습니다.
  • Cacheable (캐시 처리 가능)
    • REST Server 는 HTTP 프로토콜을 그대로 사용하므로, 웹에서 사용하는 기존의 인프라를 그대로 활용이 가능합니다.
    • 대량의 요청을 효율적으로 처리하기 위해 캐싱 기능을 적용할 수 있습니다.
  • Layered System (계층화)
    • REST Server 는 Proxy, Gateway 같은 네트워크 기반의 중간 매체를 통해 확장성이 좋은 구조로 설계할 수 있습니다.
    • Client 는 REST API Server 만 호출하면 되므로, REST Server 뒤에 다른 서버가 있어도 상관없습니다.
  • Uniform Interface (유니폼 인터페이스)
    • URI 를 통해 자원을 명시하고, HTTP Method 를 통해 해당 자원에 대한 CRUD Operation 을 적용합니다.
    • HTTP Method 를 통해 해당 자원에 대한 CRUD Operation 을 적용합니다.

REST API 의 특징

  • REST API 는 REST 기반으로 서비스 API를 구현한 것을 의미합니다.
  • REST 는 HTTP 표준을 기반으로 구현되었기 때문에, HTTP를 지원하는 프로그래밍 언어로 클라이언트/서버를 구현할 수 있습니다.
  • 즉 REST API 를 제작하면, 해당 API 를 호출할 수 있는 클라이언트를 다양한 언어(Java, Python, Javascript, PHP, Ruby, C# 등)로 개발할 수 있습니다.
Reference
  • REST란? REST API란? RESTful이란?
  • RESTful API란 무엇입니까?
저작자표시 비영리 동일조건 (새창열림)

'WEB' 카테고리의 다른 글

[ React ] XSS, CSRF 공격이란  (0) 2023.01.19
[ Web ] WebPack, Bable, Polyfill  (0) 2023.01.18
[ Web ] 검색 엔진 그리고 검색 엔진 최적화 ( SEO )  (0) 2023.01.18
    'WEB' 카테고리의 다른 글
    • [ React ] XSS, CSRF 공격이란
    • [ Web ] WebPack, Bable, Polyfill
    • [ Web ] 검색 엔진 그리고 검색 엔진 최적화 ( SEO )
    길잃은곰
    길잃은곰

    티스토리툴바