정의 |
HTTP 프로토콜을 사용하여 클라이언트와 서버가 데이터를 주고받는 일반적인 API |
REST 원칙(6가지 제약 조건)을 따르는 아키텍처 스타일의 API |
프로토콜 |
HTTP 사용 |
HTTP 사용 |
설계 기준 |
명확한 규칙 없음 (유연하게 설계 가능) |
REST 아키텍처 원칙에 따라 설계 (자원 중심, URI 명확화 등) |
URI 설계 |
임의 설계 가능예: /getUserInfo , /updateUser |
명사 기반 자원 URI 사용예: /users , /users/1 |
HTTP 메서드 |
기능에 관계없이 모든 메서드를 사용하거나 POST에 집중 |
HTTP 메서드를 의미에 맞게 사용:GET(조회), POST(생성), PUT(수정), DELETE(삭제) |
상태 유지 |
상태 유지 가능 (세션 기반 등) |
무상태성(stateless) 원칙 준수 |
응답 형식 |
자유롭게 정의 가능 (XML, JSON, HTML 등) |
일반적으로 JSON 사용 |
캐시 처리 |
명시적 구현 필요 |
HTTP 기반의 캐시 처리 권장 |
표준성 |
낮음 |
높음 (표준화된 설계 방식 존재) |
예시 |
/getProductList , /saveUserData |
/products , /products/123 |