반응형
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 |