RESTful API 란?

dev_frogsoo·2023년 9월 6일

면접준비

목록 보기
1/3

면접 준비를 위한 시리즈 입니다.
혹여 틀린 부분이나, 고쳐야할 점이 있다면 언제든지 말해주세요!!

요약

RESTful API 란?

RESTful API는 HTTP 프로토콜을 기반으로하는 웹 서비스 아키텍처입니다. 자원, 메소드, 메시지 등을 정의하여 클라이언트-서버 간의 통신을 가능하게 합니다. 또한, RESTful API는 표준 HTTP 메소드(GET, POST, PUT, DELETE)를 사용하여 서버와 통신합니다

HTTP 메서드란?

GET: 서버에서 리소스(데이터)를 요청하는 메소드입니다. 요청한 데이터를 가져와 응답합니다.

POST: 서버에 데이터를 전송하는 메소드입니다. 데이터를 전송하여 서버에서 처리하고, 처리 결과를 응답합니다.

PUT: 서버에 데이터를 업데이트하는 메소드입니다. 요청한 데이터를 서버에 저장하고, 처리 결과를 응답합니다.

DELETE: 서버에서 데이터를 삭제하는 메소드입니다. 요청한 데이터를 서버에서 삭제하고, 처리 결과를 응답합니다.


REST API

REST를 기반으로 만들어진 API

다시 REST로 돌아와서…

REST란?

REST(Representational State Transfer)의 약자로

자원을 이름으로 구분하여 자원의 상태를 주고받는 모든 것

  1. HTTP URI를 통해 자원을 명시하고,
  2. HTTP Method(POST,GET,PUT,DELETE) 를 통해
  3. 해당 자원에 대한 CRUD Operation 을 적용하는 것을 의미

웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍쳐 스타일이다.

왜 만들어 졌는가?

멀티 디바이스의 시대, 여러가지 브라우저와 기기에 웹 브라우저뿐만 아니라, 애플리케이션과의 통신에 대응해야할 필요가 있음

→ 범용적으로 사용성을 보장하는 서버 디자인이 필요하게 되었음

REST API 는 이런 역할을 훌륭히 하는 중

REST의 구성

  • 자원(Resource) - URL
  • 행위(Verb) - HTTP METHOD
  • 표현(Representations)
  1. 자원
  • 모든 자원에는 고유한 ID 가 존재한다.
  • 자원을 구별하는 ID 는 HTTP URI 이다.
  1. 행위
  • HTTP 프로토콜의 메서드를 사용한다.
  • GET, POST, PUT, DELETE 같은 메서드를 제공한다.
  1. 표현
  • 클라이언트가 서버에 요청하면, 서버는 적절한 응답을 보낸다.
  • REST 에서 하나의 자원은 JSON,XML,TEXT,RSS 등 여러 형태의 Representation 으로 나타낼 수 있다.
  • 현재는 JSON 으로 주고 받는 것이 대부분

REST의 특징

  1. Server-Client (서버-클라이언트 구조)
  2. Stateless (무상태)
  3. Cacheable (캐시 처리 가능)
  4. Layered System (계층화)
  5. Uniform Interface (인터페이스 일관성)

RESTful API 란?

RESTful 이란 REST의 원리를 따르는 시스템을 의미

하지만 REST 를 사용했다 해서 모두가 RESTful 한 것은 아니다.

“REST 다운 REST API 를 RESTful API 라고 부른다.”


출처

현직 개발자가 정리해주는 프론트엔드 신입 기술 면접 문제 은행 20선
(feat. 전 카카오 엔터프라이즈 개발자)

[네트워크] REST API란? REST, RESTful이란?

RESTful API 이란

0개의 댓글