본문 바로가기
백엔드

[Network] RestAPI, Restful이란?

by BeforB 2021. 7. 12.
728x90

 

RESTful

  • REST API를 제공하는 웹 서비스를 RESTful하다고 한다.
  • REST 원리를 따르는 시스템

Rest(REpresentational State Transfer)

  • 자원을 이름으로 구분하여 해당 자원의 정보를 주고받는 모든 것.웹 사이트의 이미지, 텍스트, DB 등 모든 자원에 고유한 ID인 HTTP URI를 부여함.
  • ex - DB의 학생정보가 자원일 경우 'students'를 자원의 표현(이름)으로 정함.
  • 데이터가 요청되어 지는 시점에 JSON이나 XML을 통해 데이터를 주고 받는다.
  • 네트워크 상에서 Client와 Server 사이의 통신 방식 중 하나.
  • HTTP URI를 통해 자원을 명시하고 Post, Get, Put, Delete, Head와 같은 HTTP Method를 통해 해당 자원에 대한 CRUD를 적용하는 것.

 

 

장단점

장점

  • HTTP 프로토콜 인프라를 그대로 사용. HTTP 표준 프로토콜을 따르는 모든 플랫폼엥서 사용 가능.
  • 서버와 클라이언트의 역할을 명확하게 분리한다.
  • REST API 메시지가 의도하는 바를 명확하게 나타내기 때문에 의도를 쉽게 파악할 수 있음.

단점

  • 표준이 존재하지 않음.
  • 사용할 수 있는 메서드가 4가지 뿐(형태가 제한적임)
  • 구형 브라우저가 제대로 지원해주지 못하는 부분들이 있음.(PUT, DELETE 사용 불가 등)

 

 

필요한 이유

다양한 클라이언트의 등장 - 요즘은 다양한 브라우저와 안드로이드, 아이폰과 같은 모바일 디바이스에서도 통신이 가능해야 한다.

 

구성요소

  • URI(자원)
  • HTTP Method(행위)
  • 표현

 

 

 

728x90

댓글