REST란

Minjun_·2023년 2월 4일
0

42Seoul

목록 보기
11/11
post-custom-banner

REST

REST(REpresentational State Transfer)는 HTTP의 장점을 최대한 활용할 수 있는 아키텍쳐로 소개되었다.

REST의 기본 원칙을 성실히 지킨 서비스를 RESTful이라고 표현한다.

REST는 HTTP를 기반으로 클라이언트가 서버의 리소스에 접근하는 방식을 규정한 아키텍처

REST API는 REST를 기반으로 서비스 API를 구현한 것을 의미한다.

REST API의 구성

자원(resource), 행위(verb), 표현(representations)

REST는 자체 표현 구조 (self-descriptiveness)로 구성되어 REST API만으로 HTTP 요청의 내용을 이애할 수 있다.

구성요소내용표현 방법
자원(resource)자원URI
행위(verb)자원에 대한 행위HTTP 요청 메서드
표현(representations)자원에 대한 행위의 구체적 내용페이로드

payload란?

  • 전송되는 데이터를 의미한다.
  • 데이터를 전송할 때, 헤더와 메타데이터, 에러 체크 비트 등 다양한 요소들과 함께 보내게 되는데, 보내고자 하는 데이터 자체를 의미하는 것이 페이로드이다.

REST API 설계 원칙

가장 중요한 원칙은 URI는 리소스를 표현해야 하며, 행위에 대한 정의는 HTTP 요청 메서드를 통해 하는 것이다.

URI는 리소스를 표현해야 한다.

리소스를 식별할 수 있는 이름은 명사를 사용하는 것이다 좋다.

행위를 표현하지 않고, 리소스를 표현하도록 해야 한다.

잘못된 이름 예시

  • GET /getTodos/1
  • GET /todos/show1

올바른 이름 예시

  • GET /todos/1

리소스에 대한 행위는 HTTP 요청 메서드로 표현한다.

주로 GET, POST, PUT, DELETE, PATCH 5가지 HTTP request method를 이용하여 CRUD를 구현한다.

CRUD : Create, Read, Update, Delete

장점

  • HTTP 프로토콜 위에서 작동하므로 REST API 사용을 위한 별도의 인프라 구축이 필요없다.
  • REST API 메시지가 의도하는 바를 명확하게 나타내므로 쉽게 이해 가능하다.
  • 서버와 클라이언트의 역할을 명확하게 구분해준다.

단점

  • 표준이 존재하지 않는다.
  • 사용할 수 있는 메소드가 제한적이다. (HTTP Method)

참고 자료

profile
졸음을 이겨내자..!
post-custom-banner

0개의 댓글