RESTful API

멍차·2024년 2월 14일
0

web

목록 보기
4/6

REST (Representational State Transfer)

API 작동 방식에 대한 조건을 부과하는 소프트웨어 아키텍처

클라이언트와 서버가 데이터를 주고받는 방식에 대한 아키텍처 스타일

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

리소스와 관련된 작업의 읽기, 업데이트, 생성 및 삭제를 나타내는

GET, PUT, POST, DELETE 데이터 유형에 사용 가능하다.

스마트 기기들이 등장하면서 TV, 스마트폰, 태블릿 등 client 프로그램이 다양화되고

그에 맞춰 서버를 일일이 만드는 일이 비효율적인 일이 되어버렸다.

이 과정에서 client에서 바로 객체로 치환 가능한 형태의 통신을 지향하게 되며

server와 client의 역할을 분리하게 되었다.

이런 변화를 겪으며 필요해진 것은 http 표준 규약을 지키면서 api를 만드는 것이다.

method

client side를 정형화된 플랫폼이 아닌 모바일, PC, 어플리케이션 등 플랫폼에 제약을 두지 않는다

METHOD역할
POSTPOST를 통해 서버에 데이터를 전송한다.
GETGET를 통해 해당 리소스를 조회한다. 리소스를 조회하고 해당 도큐먼트에 대한 자세한 정보를 가져온다.
PUTPUT을 통해 해당 리소스를 수정한다.
DELETEDELETE를 통해 리소스를 삭제한다.

원칙

  • 식별 가능한 데이터

    URL을 보고 어느 데이터를 어떤 상태로 전송해야 하는지 구별할 수 있도록 한다.

  • 클라이언트 서버

    클라이언트와 서버는 분리되어야 한다.

    클라이언트는 데이터를 서버에 요청하고, 서버는 클라이언트의 요청에 따른 데이터를 응답한다.

  • 무상태성

    rest는 http의 특성을 이용하기 때문에 무상태성을 갖는다.

    서버에서 어떤 작업을 하기 위해 상태정보를 기억할 필요가 없고 들어온 요청에 대해 처리해 주면 되기 때문에

    구현이 쉽고 단순해진다.

    예를 들어, www.sample.com/page1 요청 후 www.sample.com/page2 를 요청하는 경우, 

    이 둘의 요청은 서로 연관성을 가지지 않고 독립적이다.

    즉, page1에서 만들어진 데이터는 page2를 요청할 때 유지되지 않는다.

    REST의 구성(표현방식)

  • 자원(Resource) - URL

  • 행위(Verb) - Http Method

  • 표현(Representations)

  1. 자원 (Resource) URL
  • 모든 자원에 고유한 ID가 존재하고, 이 자원은 Server에 존재한다.
  • 자원을 구별하는 ID는 /orders/order_id/1 와 같은 HTTP URI 이다.

2. 행위 (Verb) - Http Method

  • HTTP 프로토콜의 Method를 사용한다.
  • HTTP 프로토콜은 GETPOSTPUTDELETE와 같은 메서드를 제공한다.

3. 표현 (Representaion of Resource)

  • Client가 자원의 상태 (정보)에 대한 조작을 요청하면 Server는 이에 적절한 응답 (Representation)을 보낸다
  • REST에서 하나의 자원은 JSON, XML, TEXT, RSS 등 여러 형태의 Representation으로 나타낼 수 있다.
  • 현재는 JSON으로 주고 받는 것이 대부분이다.

*참고

https://velog.io/@somday/RESTful-API-이란

0개의 댓글

관련 채용 정보