RESTful API란?

coldrice99·5일 전
0

🚀 REST API, RESTful API란?

오늘은 REST APIRESTful API에 대해 학습했다. REST는 HTTP 프로토콜을 기반으로 자원을 관리하고, RESTful API는 이러한 REST의 원칙을 따르는 API 설계를 의미한다. REST의 개념부터 REST API의 설계 규칙까지 살펴보며 RESTful한 시스템이 무엇인지 이해할 수 있었다.

1. 📌 API란?

API(Application Programming Interface)는 응용 프로그램 간의 상호작용을 정의하는 방법이다. 애플리케이션이 다른 애플리케이션과 데이터를 주고받을 수 있는 인터페이스로, 요청과 응답을 통해 두 시스템 간의 통신을 가능하게 한다.

2. 🌐 REST란?

REST(Representational State Transfer)는 웹 리소스의 상태를 HTTP를 통해 전송하는 아키텍처 스타일이다. REST는 자원(Resource), 자원의 상태(Representation), 그리고 이 상태를 전송하는 방식(Transfer)으로 구성된다. REST는 자원에 대한 CRUD(Create, Read, Update, Delete) 작업을 HTTP 메서드(GET, POST, PUT, DELETE 등)를 사용해 수행하는 방식이다.

REST의 주요 특징은 다음과 같다:

  • ⚙️ 균일한 인터페이스: HTTP 표준을 따르기 때문에 플랫폼에 종속되지 않고 다양한 환경에서 사용할 수 있다.
  • 🔄 무상태성: 서버는 클라이언트의 상태 정보를 저장하지 않는다. 모든 요청은 독립적이며, 이를 통해 구현이 단순해지고 서버의 부담이 줄어든다.
  • 🗃️ 캐시 가능: HTTP의 캐시 기능을 활용하여 서버 부하를 줄이고 성능을 향상시킬 수 있다.
  • 📝 자체 표현 구조: REST API 메시지만으로 쉽게 이해할 수 있는 구조를 가지고 있다.
  • 🖥️ 클라이언트-서버 구조: 클라이언트와 서버의 역할이 명확히 분리되어 있어 의존성이 줄어든다.
  • 🏗️ 계층형 구조: REST 서버는 다중 계층으로 구성될 수 있으며, 프록시나 게이트웨이 같은 중간 매체를 사용할 수 있다.

3. 🔗 REST API란?

REST API는 REST의 특징을 기반으로 구현된 서비스 API이다. 이를 통해 자원을 효율적으로 관리하고, 표준화된 방식으로 데이터를 주고받을 수 있다.

4. 📏 REST API 설계 규칙

REST API를 설계할 때 지켜야 할 몇 가지 규칙이 있다:

- 🌍 URL 규칙

  • 🔡 소문자 사용: URI 경로에는 소문자를 사용해야 한다.
  • ➖ 하이픈(-) 사용: 언더바(_) 대신 하이픈(-)을 사용해 가독성을 높인다.
  • 🚫 마지막 슬래시(/) 제외: URI의 끝에 슬래시를 포함하지 않는다.
  • ❌ 행위 미포함: 행위는 URI 대신 HTTP 메서드를 사용해 표현한다.
  • 📁 파일 확장자 미포함: 파일 확장자를 URI에 포함하지 않는다.

- 🔄 HTTP 메서드 활용

  • GET: 자원 조회
  • POST: 자원 생성
  • PUT: 자원 전체 수정
  • PATCH: 자원 일부 수정
  • DELETE: 자원 삭제

- 🔍 POST, PUT, PATCH 차이점

  • POST는 새로운 리소스를 생성하며, 멱등성이 없다. 동일 요청을 여러 번 수행해도 다른 결과를 초래할 수 있다.
  • PUT은 기존 리소스를 대체하거나 새로 생성하며, 멱등하다. 동일 요청을 여러 번 수행해도 결과가 동일하다.
  • PATCH는 리소스의 일부만 수정하며, 전체를 덮어쓰지 않는다.

- 📊 HTTP 응답 상태 코드

  • 200 OK: 요청 성공
  • 201 Created: 자원 생성 성공
  • 400 Bad Request: 잘못된 요청
  • 401 Unauthorized: 인증 실패
  • 404 Not Found: 자원을 찾을 수 없음
  • 500 Internal Server Error: 서버 내부 오류

5. 🤖 RESTful API란?

RESTful API란 REST의 원칙을 잘 지키며 설계된 API를 의미한다. 모든 REST API가 RESTful한 것은 아니며, REST의 설계 규칙을 따르는 API만을 RESTful하다고 할 수 있다. 예를 들어, 모든 CRUD 작업을 POST로 처리하거나 URI 규칙을 지키지 않은 API는 RESTful하지 않다고 할 수 있다.

✨ 느낀 점:

오늘 학습한 REST와 RESTful API는 현대 웹 개발에서 매우 중요한 개념으로, 클라이언트와 서버 간의 효율적인 통신을 가능하게 한다. REST의 설계 규칙을 올바르게 지켜 API를 설계하는 것이 RESTful API를 만드는 핵심임을 이해했다.

profile
서두르지 않으나 쉬지 않고

0개의 댓글