728x90
반응형
RESTful API는 웹 개발자라면 반드시 알아야 할 핵심 기술입니다.
✅ REST란 무엇인가요?
**REST(Representational State Transfer)**는 2000년에 로이 필딩(Roy Fielding)이 논문에서 처음 제안한 아키텍처 스타일입니다.
쉽게 말해, 웹에서 자원을 HTTP 방식으로 다루는 표준화된 방법이라고 생각하시면 됩니다.
📌 REST의 6가지 핵심 제약조건
제약 조건설명
| 1. 클라이언트-서버 구조 | 역할을 분리하여 유지보수성과 확장성 향상 |
| 2. 무상태(Stateless) | 요청 간 서버는 클라이언트 상태를 저장하지 않음 |
| 3. 캐시 처리 가능 | 응답 데이터는 캐싱될 수 있어야 함 |
| 4. 계층화 시스템 | 중간 서버를 통해 확장 구조 구성 가능 |
| 5. 인터페이스 일관성 | URI, HTTP 메서드 등 통일된 사용법 준수 |
| 6. 코드 온 디맨드 (선택사항) | 서버가 클라이언트에 스크립트 전송 가능 |
🧭 RESTful API란?
REST 원칙을 따르는 API를 말합니다. 즉, HTTP 메서드와 URL을 이용해 자원을 CRUD 방식으로 처리하는 것이죠.
🚀 RESTful API 예제
가상의 블로그 게시글(Post)에 대한 API를 설계한다고 가정해볼게요.
기능HTTP 메서드URI설명
| 목록 조회 | GET | /posts | 모든 게시글 조회 |
| 단일 조회 | GET | /posts/{id} | 특정 게시글 조회 |
| 작성 | POST | /posts | 게시글 작성 |
| 수정 | PUT | /posts/{id} | 게시글 전체 수정 |
| 삭제 | DELETE | /posts/{id} | 게시글 삭제 |
🔄 RESTful 하지 않은 API 예시
GET /getPosts
POST /createPost
- ❌ 이런 방식은 RESTful하지 않습니다.
- ✅ RESTful 방식은 명사 중심 URI와 HTTP 메서드를 적절히 사용하는 것이 핵심입니다.
💡 RESTful API 설계 시 팁
- URI에는 동사 대신 명사 사용
- URI는 소문자 사용
- 언더스코어(_)보단 하이픈(-) 사용 권장
- 응답 상태 코드 (200, 201, 400, 404 등) 정확히 설정
- 예외 응답은 JSON 형태로 일관되게 처리
🛠️ RESTful API 구현 프레임워크
- Spring Boot (Java)
- Express (Node.js)
- Flask / Django REST Framework (Python)
- FastAPI (Python, 최신 트렌드)
- Laravel (PHP)
728x90
반응형
'Computer Science > NetWork' 카테고리의 다른 글
| 📌"브라우저가 URL을 입력하면 서버까지 무슨 일이 벌어질까 (3) | 2025.08.09 |
|---|---|
| 🧠 HTTP 상태코드 완전 정리하기 (재밌게, 쉽게, 한 방에!) (3) | 2025.08.04 |
| ✅ 쿠키 vs 세션 vs 토큰 완벽 정리! 차이점과 웹 인증 구조 이해하기 (2) | 2025.08.02 |
| 📌GET vs POST vs PUT vs PATCH vs DELETE: HTTP 메서드 완벽 총정리! (0) | 2025.07.31 |
| ✅ HTTP vs HTTPS 차이와 보안의 원리 (2) | 2025.07.31 |