기록
REST API 란 무엇인가요
whatd0udo
2025. 3. 9. 13:15
REST API 란 무엇인가요
*REST API (Representational State Transfer API)**는 클라이언트와 서버 간의 통신을 위해 HTTP를 사용하는 아키텍처 스타일입니다. REST는 특정한 규칙을 따르며, 이를 통해 시스템 간 데이터 교환을 간편하고 효율적으로 처리할 수 있습니다.
REST API는 웹에서 데이터를 송수신할 때 흔히 사용되는 방식으로, 다음과 같은 주요 특징을 가집니다.
REST API의 주요 특징
- 무상태성 (Stateless)
각 요청은 독립적이며 이전 요청의 상태를 저장하지 않습니다.
클라이언트의 상태는 클라이언트 측에서 유지되며, 서버는 클라이언트의 상태를 추적하지 않습니다. - 클라이언트-서버 구조 (Client-Server Architecture)
REST는 클라이언트와 서버가 분리되어 동작합니다.
클라이언트는 사용자 인터페이스와 관련된 작업을 수행하고, 서버는 데이터와 애플리케이션 로직을 처리합니다.
클라이언트와 서버는 독립적으로 발전할 수 있습니다. - 캐시 가능성 (Cacheable)
서버에서 제공하는 응답은 캐시할 수 있습니다.
클라이언트는 응답을 캐시하여 동일한 요청에 대해 빠른 응답을 받을 수 있습니다. 이는 성능을 향상시키는 데 도움을 줍니다. - 일관된 인터페이스 (Uniform Interface)
REST API는 일관된 방식으로 데이터를 처리하고 응답합니다.
HTTP 메소드 (GET, POST, PUT, DELETE 등)와 URI (Uniform Resource Identifier)를 이용하여 자원에 접근하고 조작합니다. - 자원 기반 (Resource-Based)
REST는 "자원"을 중심으로 설계됩니다. 자원은 고유한 URI로 식별되며, 클라이언트는 HTTP 메소드를 사용해 자원을 조회(GET), 생성(POST), 수정(PUT), 삭제(DELETE)할 수 있습니다.
HTTP 메소드와 REST API
REST API는 HTTP 메소드를 사용하여 자원을 처리합니다. 각 메소드는 자원에 대해 특정 작업을 수행합니다.
- GET: 자원의 조회 (서버에서 데이터 가져오기)
- POST: 새로운 자원의 생성
- PUT: 자원의 전체 업데이트
- PATCH: 자원의 부분적인 업데이트
- DELETE: 자원의 삭제
REST API의 사용 예시
- GET /users: 모든 사용자 정보를 가져옵니다.
- GET /users/{id}: 특정 ID를 가진 사용자의 정보를 가져옵니다.
- POST /users: 새로운 사용자를 생성합니다.
- PUT /users/{id}: 특정 ID를 가진 사용자의 정보를 업데이트합니다.
- DELETE /users/{id}: 특정 ID를 가진 사용자를 삭제합니다.
REST API의 장점
- 단순성: HTTP를 기반으로 하여 이해하기 쉽고, 웹에서 자주 사용되는 프로토콜을 활용합니다.
- 유연성: REST API는 다양한 형식의 데이터를 주고받을 수 있습니다. (JSON, XML 등)
- 확장성: 클라이언트와 서버가 독립적으로 동작하기 때문에 시스템을 확장하거나 유지보수하기가 용이합니다.
- 성능: 캐시를 활용할 수 있어 성능 향상에 도움이 됩니다.
REST API의 단점
- 무상태성: 클라이언트의 상태를 서버에서 추적하지 않기 때문에, 클라이언트에서 모든 상태 정보를 관리해야 합니다.
- 복잡한 쿼리 처리: 복잡한 데이터 연산이 필요한 경우, REST API만으로 처리하기 어려울 수 있습니다.
결론
REST API는 웹 애플리케이션에서 클라이언트와 서버 간의 통신을 위한 강력한 방법입니다. 간단하고 일관된 규칙을 따르며, 다양한 시스템 간의 상호운용성을 제공합니다. REST는 확장성이 뛰어나고, 다양한 형식의 데이터 전송이 가능하여 현대 웹 개발에서 필수적인 요소로 자리잡고 있습니다.