[ CS ] REST & RESTful API

이하나·2022년 12월 26일
0

CS STUDY

목록 보기
5/5
post-custom-banner

[ 1 ] REST ( REpresentational State Transfer )

  • 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식
  • 자원( Resource )의 표현( Representation )에 의한 상태전달 ( State Transfer )

[ 2 ] REST의 구성요소

  • REST의 RESOURCE - URI

    : 자원을 구별하는 ID
    : URI을 통해 자원을 지정하여 그의 상태에 대한 정보를 서버에 요청.

  • REST의 METHOD

    : 어떤 자원에 대한 Create, Read, Update, Delete 연산 수행을 위한 방식

    • POST : Create - 클라이언트에서 서버로의 정보 입력
    • GET : Read - URI를 통해 지정된 자원에 대한 정보를 요청
    • PUT : Update - 전체 데이터 정보에 대한 내용 갱신
    • PATCH : Update - 일부 데이터 정보에 대한 내용 갱신
    • DELETE : Delete - 정보의 삭제
  • REST의 Representation

    : 주로 JSON이나 XML 형태로 데이터를 주고 받는다.

[ 3 ] REST의 6가지 특징

  • 인터페이스 일관성 (Uniform Interface)

    : 일관적인 인터페이스로 분리되어야 한다.
    : 지정된 Resource에 대한 요청을 통일하고 한정적인 인터페이스( CRUD ) 로 수행하여야한다.
    : 플랫폼이나 특정 기술에 상관없이 HTTP 표준에 따른다면 모든 플랫폼에서 사용 가능해야 한다.

  • 무상태 (Stateless)

    : 클라이언트의 Context가 서버에 저장이 되어서는 안된다.
    : 각각의 요청을 완전히 별개의 것으로 인식하여 이전 요청이 다음 요청에 연관 되어서는 안된다.

  • 캐시 처리 가능 (Cacheable)

    : 클라이언트는 응답을 캐싱할 수 있어야한다.

  • 계층화 (Layered System)

    : 중간서버를 통해 연결하여 로드 밸런싱 기능이나 공유 캐시 기능을 이용할 수 있다.
    : 각 레이어는 바로 다음 레이어만 보고 상호작용하도록 제한 된다.

  • 주문형 코드 (Code on demand, Optional)

    : 선택적 제약 조건
    : 서버가 실행 코드를 클라이언트에 보낼 수 있는 기능

  • 클라이언트 - 서버 구조 (Client-Sever)

    : 네트워크가 요청하는 클라이언트와 요청을 받는 서버로 구성된다.
    : 서로의 역할을 구분함으로써 각자 독립적으로 진화 할 수 있다.

[ 4 ] RESTful API

: REST의 설계규칙을 잘 지켜서 설계된 API

[ 5 ] 참고 사이트

profile
코딩을 배우는 비전공자 코린이!
post-custom-banner

0개의 댓글