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). |
'컴퓨터과학' 카테고리의 다른 글
관계형 데이터베이스와 NoSQL의 차이 무엇이 다른지? (0) | 2025.01.08 |
---|---|
웹사이트 배포 과정 이해하기: 초보자를 위한 완벽 가이드 (0) | 2025.01.08 |
[HTML, CSS, JavaScript의 역할] 웹 개발의 기본 요소 (0) | 2025.01.07 |
[백트래킹 알고리즘] 효율적인 문제 해결의 핵심 (0) | 2025.01.07 |
[그래프 탐색: DFS와 BFS] 자료구조 탐색의 핵심 이해하기 (0) | 2025.01.07 |