본문 바로가기
컴퓨터과학

[RESTful API란 무엇인가?]

by 코드그래피 2025. 1. 7.
반응형

1. REST란?

1) 정의

REST(Representational State Transfer)웹의 분산 시스템을 설계하기 위한 아키텍처 스타일입니다.

HTTP 프로토콜을 기반으로 클라이언트와 서버 간의 통신을 단순화하고 표준화하는 데 초점이 맞춰져 있습니다.

2) REST의 핵심 원칙

1. 자원(Resource)의 표현

• 모든 데이터는 고유한 URL로 식별됩니다.

예: https://api.example.com/users/123 → 특정 사용자 데이터.

2. 표현 방식(Representation)

• 자원은 JSON, XML 등 다양한 형식으로 표현됩니다.

예: 클라이언트는 JSON 형식으로 데이터를 요청할 수 있습니다.

3. 상태가 없는 통신(Stateless)

• 클라이언트의 요청은 독립적이며, 서버는 요청 간의 상태를 유지하지 않습니다.

4. HTTP 메서드 사용

• REST는 HTTP 메서드를 활용해 CRUD(Create, Read, Update, Delete) 작업을 수행합니다.

5. 계층 구조 설계

• 클라이언트는 서버의 내부 구현이나 데이터베이스 구조에 의존하지 않습니다.

2. RESTful API란?

1) 정의

• RESTful API는 REST 원칙을 준수하여 설계된 API(Application Programming Interface)를 의미합니다.

• 클라이언트가 HTTP를 통해 서버에 요청을 보내고, 서버는 클라이언트가 이해할 수 있는 데이터를 반환합니다.

2) RESTful API의 특징

1. URL로 자원을 식별

• 자원(Resource)을 URL로 표현.

2. HTTP 메서드 사용

• GET, POST, PUT, DELETE 등 사용.

3. 표준화된 응답

• JSON, XML 등 클라이언트가 이해할 수 있는 데이터 반환.

4. 상태 없음

• 요청 간 상태 정보가 서버에 저장되지 않음.

3. RESTful API의 구성 요소

1) HTTP 메서드

HTTP 메서드 CRUD 동작 설명
GET Read(조회) 자원을 읽거나 검색.
POST Create (생성) 새로운 자원을 생성.
PUT Update (수정) 기존 자원을 업데이트.
DELETE Delete (삭제) 자원을 삭제.

2) URI 설계

• RESTful API는 리소스를 명확히 식별할 수 있는 URI를 설계합니다.

URI 의미
GET /users 모든 사용자 정보 조회
GET /users/{id} 특정 사용자 정보 조회
POST /users 새로운 사용자 생성
PUT /users/{id} 특정 사용자 정보 수정
DELETE /users/{id} 특정 사용자 정보 삭제

3) 응답 코드

• 서버는 클라이언트 요청에 따라 적절한 HTTP 상태 코드를 반환합니다.

상태 코드 설명
200 성공 (OK).
201 리소스 생성 성공 (Created).
400 잘못된 요청 (Bad Request).
401 인증 실패 (Unauthorized).
404 리소스 없음 (Not Found).
500 서버 오류 (Internal Server Error).
반응형