BACKEND [Kamranahmedse Roadmap]

REST API 란 무엇인가

Alex Han 2025. 3. 24. 02:43
반응형

1. REST의 뜻

REST는 REpresentational State Transfer의 약자입니다.

 

조금 어렵게 들리실 수 있는데, 간단히 말하면:

웹의 자원을 “표현(Representation)”하고, 이 자원들의 상태(State)를 HTTP로 주고받는 규칙(Transfer 방법)

즉, 웹에서 데이터를 주고받을 때 지켜야 할 디자인 원칙입니다.

 

 

 


2. REST API란?

REST 원칙을 따르는 API를 의미합니다.

 

HTTP 프로토콜을 기반으로, URL(주소)을 통해 자원(Resource)을 식별하고,

HTTP 메서드(GET, POST, PUT, DELETE 등)를 통해 자원에 대한 행위를 정의하는 API입니다.

 

 

 


3. 핵심 원칙 요약

REST 요소 설명
자원(Resource) URL로 표현 (ex: /users, /posts/1)
행위(Method) HTTP 메서드 사용: GET, POST, PUT, DELETE
표현(Representation) JSON, XML 등으로 데이터 주고받음
무상태성(Stateless) 서버는 클라이언트의 상태를 기억하지 않음
일관된 인터페이스 모든 요청은 일정한 방식으로 통신

 

 

 


4. HTTP 메서드와 REST API 관계

HTTP 메서드 의미 (자원에 대한 행위) 예시
GET 데이터 조회 GET /users → 모든 유저 조회
POST 데이터 생성 POST /users → 새 유저 생성
PUT 데이터 수정 PUT /users/1 → id가 1인 유저 정보 수정
DELETE 데이터 삭제 DELETE /users/1 → id가 1인 유저 삭제

 

 

 


6. 실생활 비유

카페에서 주문 시스템 예시

 

카페에서 여러 메뉴(자원) 가 있다고 가정.

메뉴판을 URL로 본다면:

/menu           → 모든 메뉴 조회 (GET)
/menu/1         → 1번 메뉴 상세 조회 (GET)
/menu           → 새 메뉴 추가 (POST)
/menu/1         → 1번 메뉴 정보 수정 (PUT)
/menu/1         → 1번 메뉴 삭제 (DELETE)

 

손님(클라이언트)은 HTTP 요청을 통해 요청하고,

카페(서버)는 요청을 처리해 JSON 형태의 응답(데이터) 을 돌려줍니다.

 

 

 


6. REST API의 장점

장점 설명
명확하고 일관된 구조 URL + HTTP 메서드로 직관적
HTTP 프로토콜 사용 별도 복잡한 규칙 없이 웹에서 바로 사용 가능
서버-클라이언트 분리 서버와 클라이언트 독립 개발 가능
확장성, 유연성 자원 추가/수정 시 기존 클라이언트 영향 적음
무상태성 요청마다 독립적, 서버가 세션 관리 안 해도 됨

 

 

 


7. 실제 REST API 예시

▶️ 예: GitHub REST API

요청 설명
GET https://api.github.com/users/alex “alex”라는 유저 정보 조회
POST https://api.github.com/repos 새로운 리포지토리 생
DELETE https://api.github.com/repos/alex/project1 특정 리포지토리 삭제

 

→ REST 원칙: URL로 자원 표현 + HTTP 메서드로 행위 구분

반응형

'BACKEND [Kamranahmedse Roadmap]' 카테고리의 다른 글

REST와 RESTful의 차이  (0) 2025.03.24
예시를 통해 API 쉽게 이해하기  (0) 2025.03.24
Web API란?  (0) 2025.02.23
WAS의 종류와 특징들  (0) 2025.02.04
웹서버(Apache)와 WAS(Tomcat)의 개념과 차이점  (0) 2025.01.31