CS [개발 지식] REST - API

신재원·2023년 3월 6일
0

CS [개발지식]

목록 보기
9/9

🐱‍🏍 REST API 란?

  • REST 아키텍처의 조건을 준수하는 어플리케이션 프로그래밍 인터페이스를 뜻한다.
  • 일반적으로 REST 아키텍처를 구현하는 웹 서비스를 RESTFUL 하다고 표현한다.
  • !! URI와 HTTP를 기반으로 하고, 브라우저 간 호환성이 좋은 JSON 형식으로 주로 사용한다. (자원을 이름으로 구분하여 해당 자원의 상태 정보를 주고받는것을 의미한다)

📍 API 란?

  • 인터페이스를 통해서 다른 응용 프로그램을 제어할수있는 것
  • 내부 구현 로직을 알지 못해도 정의 되어 있는 기능을 쉽게 사용할수있음.

📍 REST 란?

  • 해당 데이터의 상태를 교환하는 것을 의미
  • HTTP Method : Create, Read, Update, Delete

REST - API 특징 (규칙) (특정 기술을 의미 X)

  1. Server - Client 구조
    데이터 있는 쪽이 Server, 요청하는 쪽이 Client
    클라이언트와 서버가 독립적("각각 별도의 DB")으로 분리 되어있어야 한다.
  2. HTTP의 캐싱기능을 적용
    • 대량의 요청을 효율적으로 처리한다.
  3. 요청 간에 클라이언트 정보가 서버에 저장되지 않음
  • REST - API = HTTP를 사용하는 모범사례
  • 웹의 통신 규약인 http를 이용합니다.

REST의 장점

  • HTTP 표준 프로토콜을 사용하는 모든 플랫폼에서 호환 가능
  • 서버와 클라이언트의 역할을 명확하게 분리
  • 여러 서비스 설계에서 생길 수 있는 문제를 최소화한다.
  • REST 기반으로 시스템을 분리하여 확장성과 재사용성을 높임.
  • HTTP 표준을 따르고 있어 여러 프로그래밍 언어로 구현할수 있다.

📌 REST API 설계 규칙
1. 웹 기반의 REST API를 설계할 경우에는 URI를 통해 자원을 표현 해야한다.

  • 예시
    https://shinjaewon99/member/999
    Resource : member
    Resource id : 999
    (URI에는 소문자 사용, Resource의 이름이나 URI가 길어질 경우 하이픈('-')을 통해 가독성을 높일수 있다.) !! 언더바('_')는 사용하지 않음
  1. 자원에 대한 조작은 HTTP Method(CRUD)를 통해 표현해야한다.
  • URI에 행위가 들어가면 안된다.
    ( HEADER를 통해 CRUD를 표현하여 동작을 요청해야함.
  1. 메시지를 통한 리소스 조작
  • HEADER를 통해 content - type을 지정하여 데이터를 전달
    • 대표적으로 HTML, XML, JSON, TEXT등이 있다.

0개의 댓글