본문 바로가기
코딩공부/학습요약

RESTful API란?

by 개발지망생 2023. 4. 21.

🤔 RESTful API란?

📝 정의

RESTful API는 Representational State Transfer의 약자로, 웹 상의 자원을 HTTP 프로토콜을 이용하여 전송하는 것을 의미한다. RESTful API는 일관적인 인터페이스를 제공하며, 서버와 클라이언트 간의 통신을 가능하게 해준다.

❓ 사용하는 이유

RESTful API는 다음과 같은 이유로 많이 사용된다.

  1. HTTP 프로토콜을 이용하여 간단하게 자원을 전송할 수 있다.
  2. 서버와 클라이언트 간의 인터페이스를 일관적으로 제공한다.
  3. 클라이언트와 서버가 독립적으로 개발될 수 있다.
  4. 캐싱 처리가 용이하여 서버의 부하를 줄일 수 있다.

😎 적용방법

RESTful API를 적용하기 위해서는 다음과 같은 요소들을 고려해야 한다.

✅ HTTP 메소드

RESTful API에서는 HTTP 메소드를 이용하여 서버의 자원을 CRUD(Create, Read, Update, Delete)할 수 있다. HTTP 메소드에는 다음과 같은 종류가 있습니다.

 

  • GET : 조회한다.
  • POST : 생성한다.
  • PUT : 수정한다.
  • DELETE : 삭제한다.

URI 설계

RESTful API에서는 URI(Uniform Resource Identifier)를 이용하여 자원을 구분합니다. URI는 다음과 같은 구성 요소로 이루어져 있다.

http(s)://<host>:<port>/<context-path>/<resource>/<resource-id>

 

  • host : 서버의 호스트 이름 또는 IP 주소
  • port : 서버의 포트 번호
  • context-path : 애플리케이션의 컨텍스트 경로
  • resource : 자원의 이름
  • resource-id : 자원의 고유 식별자

 HTTP 응답 상태 코드

RESTful API에서는 HTTP 응답 상태 코드를 이용하여 요청에 대한 처리 결과를 전달한다. HTTP 응답 상태 코드에는 다음과 같은 종류가 있다.

 

  • 2xx : 성공적으로 처리
  • 4xx : 클라이언트 오류 발생
  • 5xx : 서버 오류 발생

HTTP 요청 헤더

RESTful API에서는 HTTP 요청 헤더를 이용하여 요청에 대한 부가적인 정보를 전달한다. HTTP 요청 헤더에는 다음과 같은 종류가 있다.

 

  • Accept : 클라이언트가 원하는 응답 형식을 지정
  • Content-Type : 요청 본문의 형식을 지정
  • Authorization : 인증 정보를 전달

HTTP 응답 헤더

RESTful API에서는 HTTP 응답 헤더를 이용하여 응답에 대한 부가적인 정보를 전달한다. HTTP 응답 헤더에는 다음과 같은 종류가 있다.

 

  • Content-Type : 응답 본문의 형식을 지정
  • Cache-Control : 응답에 대한 캐시 제어 정보를 전달
  • Location : 리소스의 위치 정보를 전달

HTTP 요청 본문

RESTful API에서는 HTTP 요청 본문을 이용하여 클라이언트에서 서버로 데이터를 전달할 수 있다. 요청 본문의 형식은 Content-Type 헤더를 이용하여 지정한다.

HTTP 응답 본문

RESTful API에서는 HTTP 응답 본문을 이용하여 서버에서 클라이언트로 데이터를 전달할 수 있다. 응답 본문의 형식은 Content-Type 헤더를 이용하여 지정한다.

RESTful API 설계 원칙

RESTful API를 설계할 때는 다음과 같은 원칙을 따르는 것이 좋다고 한다.

 

  1. URI는 동사보다는 명사를 사용
  2. URI에는 CRUD 기능을 나타내는 동사 포함 X
  3. 자원에 대한 행위는 HTTP 메소드를 이용하여 표현
  4. URI는 계층 구조
  5. 하나의 URI는 하나의 리소스

댓글