본문 바로가기
OMS

Web - REST API

by 주연배 2025. 2. 4.

REST

  • Resource를 중심으로 동작
  • 고유한 URL을 사용해 리소스를 식별하고
  • HTTP 메서드를 활용해 해당 자원(URI)에 대한 CRUD 요청을 처리함
    • 자원(HTTP URI)
    • 자원에 대한 행위(HTTP Method)
    • 자원에 대한 행위의 내용(HTTP Message Pay Load)
HTTP 메서드 역할 설명
GET 조회 데이터 가져오기
POST 생성 새로운 데이터 만들기
PUT 수정 데이터 전체 업데이트
PATCH 수정 데이터 부분 업데이트
DELETE 삭제 데이터 제거

 

Create 데이터 생성(POST)
Read 데이터 조회(GET)
Update 데이터 수정(PUT, PATCH)
Delete 데이터 삭제(DELETE)

 


REST API(REpresentational State Transfer API)

  • 웹 기반 애플리케이션에서 클라이언트와 서버가 데이터를 주고받을 때 사용하는 인터페이스
  • 주로 HTTP 매서드를 활용해 CRUD 작업을 수행하며,
  • 리소스 중심으로 설계됨

REST 특징

더보기

1. 클라이언트-서버 구조 (Clitne - Server)

  • 클라이언트 : 요청 보내고, 서버 : 데이터 처리해 응답을 보냄
  • 클라이언트와 서버가 분리되어 있어야 함

2. 무상태성 (Stateless)

  • 상태 정보 저장 안함 (이전 요청의 상태 기억x)
  • 각 요청은 독립적으로 처리됨

3. 캐시 가능 (Cacheable)

  • 클라이언트는 서버의 응답을 캐싱할 수 있어야 함
  • 응답에 Cache-Control 헤더를 포함해 데이터를 캐싱할지 여부를 결정할 수 있음

4. 계층화된 시스템 (Layered System)

  • 클라이언트는 서버와 직접 통신X, 여러 계층을 거쳐 요청을 처리할 수 있다.

5. 일관된 인터페이스 (Uniform Interface)

  • REST API는 일관된 방식으로 리소스(데이터)를 표현해야 한다.
  • 각 리소스는 특정한 URL을 가지고 있어야 한다. 

 

REST API 예제

더보기

ex) 사용자 정보(User)를 관리하는 REAT API

 

1) 사용자 목록 조회(GET)

GET /users

{"id":1, "name":"juyeon"}
{"id":2, "name":"judy"}

 

2) 특정 사용자 조회(GET)

GET /users/1  //http
{"id":1, "name":"juyeon"} //json

 

3) 새로운 사용자 생성(POST)

//http
POST /users
Content-Type: application/json
{
	"name" : "길동"
}
- 응답
{"id":3, "name":"길동"} //json

 

4) 사용자 정보 수정(PUT)

PUT /users/1
Content-Type: application/json
{
	"name":"juyeon 수정됨"
}

 

5) 사용자 삭제(DELETE)

DELETE /users/1

(응답: 성공적으로 삭제됨)

 

REST API의 장단점

장점

  1. 구조가 명확해 이해하기 쉬움
  2. HTTP 기반이므로 별도의 프로토콜 필요 없다
  3. 언어와 플랫폼에 독립적으로 사용 가능
  4. 캐싱이 가능해 성능 최적화가 쉬움

단점

  1. 요청이 많아지면 OverHead가 증가할 수 있다.
  2. 데이터 여러 번 요청 시 성능이 떨어질 수 있다.
  3. 실시간 데이터 업데이트가 필요한 경우 웹소켓보다 불리하다.

'OMS' 카테고리의 다른 글

HTTP Request Methods  (1) 2024.10.27
Web - Cookie와 Session  (0) 2024.10.21
Web - 브라우저 동작 방법  (0) 2024.10.14