본문 바로가기
목차
WebApp

REST API

by ds31x 2026. 7. 28.
728x90
반응형

Resource(자원)를 중심으로
Resource 기반의 구조
(ROA, Resource Oriented Architecture) 로,
HTTP Method를 통해 각각의 Resource를 처리하도록 설계된 아키텍쳐

  • HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시
  • HTTP Method (POST, GET, PUT, DELETE)를 통해 해당 Resource에 대한 CRUD Operation을 적용

 

CRUD Operation

  • Create : 생성(POST)
  • Read : 조회(GET)
  • Update : 수정(PUT)
  • Delete : 삭제(DELETE)
  • HEAD: header 정보 조회(HEAD)

REST(Representational State Transfer)란?

  • 웹에 존재하는 모든 자원(이미지, 동영상, DB자원)에 고유한 URI를 부여해 활용하는 것

REST는
자원을 정의하고
자원에 대한 주소를 지정하는 방법론을 의미


API(Application Programming Interface)란?

  • 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다.
  • API를 통해 소스 및 DB 등에 접근할 필요없이 해당 프로그램을 사용할 수 있도록 기능을 제공하게하는 것이다.

https://dsaint31.tistory.com/503

 

[Programming] Application Programming Interface (API) and Application Binary Interface (ABI)

API란 (ABI는 아래에 있음)Application Programming Interface (API)는 서로 다른 S/W Application이 source code 수준 에서 통신할 수 있도록 하는 Protocol 및 definition으로 구성된 Interface임.즉, API는 여러 S/W Application들

dsaint31.tistory.com


REST 특징

6가지의 조건이 있는데 이를 잘 지키는 서비스 디자인을 보고 Restful하다고 한다:

 

1) Client-Server

  • 클라이언트는 사용자 인증 등을 관리하고 서버는 API를 제공하는 등의 역할이 확실하게 구분되어 작동할 수 있게 한다.

2) Uniform Interface

  • REST는 HTTP 표준만 따른다면, 어떠한 기술이든 사용이 가능한 인터페이스 스타일이다.
  • REST는 수신자가 이해하기 위한 모든 정보를 가지고 있어야 한다.(Self-descriptiveness 구조)

3) Stateless

  • 상태에 대한 정보는 클라이언트가 가지고 있고 서버는 이를 저장하지 않는다. => 구현이 쉽고 단순해짐

4) Cacheable

  • 웹에서 사용하는 기존의 인프라를 그대로 활용이 가능해 HTTP가 가진 가장 강력한 특징 중 하나인 캐싱 기능을 적용할 수 있다.
  • 이렇게 캐시를 사용하게 되면 네트워크 응답시간 뿐만 아니라, REST 컴포넌트가 위치한 서버에 트랜잭션을 발생시키지 않아,
  • 전체 응답시간과 성능 그리고 서버의 자원 사용률을 비약적으로 향상시킬 수 있다.

5) Layered System

  • 서버는 클라이언트가 모르게(클라이언트에서는 REST API서버만 호출)
  • API 서버에 여러 계층(사용자 인증, 암호화, 로드밸런싱 등)을 추가하여 유연한 구조로 개발 될 수 있다.

6) Code on Demand(optional)

  • 클라이언트는 리소스에 대한 표현을 응답으로 받고 처리해야 하는데,
  • 어떻게 처리해야 하는지에 대한 code를 서버가 제공하는 것을 의미

같이보면 좋은 자료들

[Network] REST란? REST API란? RESTful이란? - Heee's Development Blog

 

[Network] REST란? REST API란? RESTful이란? - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

 

728x90

'WebApp' 카테고리의 다른 글

curl을 이용한 HTTP method 실습  (0) 2026.07.30
HTTP method  (0) 2026.07.28
[HTTPS] certbot을 통한 nginx에서 HTTPS 설정.  (0) 2023.09.10
[HTTPS] Certification 갱신 : certbot renew  (0) 2023.09.10
[HTTPS] certbot 사용법 : chain 삭제  (0) 2023.09.10