본문 바로가기
ComputerScience/Network

REST API

by 규난 2022. 11. 21.
728x90

REST(Representational State Transfer)의 정의

자원을 이름으로 구분하여 해당 자원의 상태(정보)를 주고받는 모든 것을 의미.

즉, 자원의 표현에 의한 상태 전달. 자원이란 해당 소프트웨어가 관리하는 정보를 말하며 그 자원을 표현하기 위한 이름.

예를 들어 DB에 회원 정보가 자원일 때 자원의 이름을 members로 표현. 기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍쳐이다.

 

REST의 개념

HTTP URI를 통해 자원(Resource)을 명시하고 HTTP Method(GET, PUT, DELETE, POST, PATCH)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미한다. 즉 자원 기반의 구조(Resource Oriented Architecture ROA)설계 중심에 Resource가 있고 HTTP Method를 통해 Resource를 처리하도록 설계된 아키텍쳐를 의미한다.

 

REST의 장단점

장점

  • HTTP 프로토콜 인프라를 그대로 사용하므로 REST API 사용을 위한 별도의 인프라를 구축 할 필요가 없다.
  • HTTP 프로토콜의 표준을 최대한 활용하여 여러 추가적인 장점을 함께 가져갈 수 있게 해준다.
  • HTTP 프로토콜 표준에 따르는 모든 플랫폼에서 사용이 가능하다.
  • REST API Message가 의도하는 바를 명확하게 나타내므로 쉽게 파악할 수 있다.
  • 서버와 클라이언트 역할을 명확하게 분리 가능하다.

단점

  • 표준이 존재하지 않아 정의가 필요하다.
  • HTTP Method가 제한적이다.
  • 구형 브라우저에서 아직 제대로 지원해주지 못 하는 부분이 존재한다.(PUT, DELTE)

REST API란?

REST의 원리를 따르는 API를 의미한다. 

 

REST API 설계 기본 규칙

URI는 자원의 정보를 표시해야하는데 자원의 정보는 동사보다 명사를 대문자보다 소문자를 사용해야하고 마지막에 /를 포함하지 않는다.

http://localhost/members

언더바 대신에 하이폰을 사용한다.

http://localhost/member-list

URI에 행위, 확장자를 포함하지 않는다.

http://localhost/image.png (x)
http://localhost/delete-member (x)

 

RESTful이란?

REST API 설계 규칙을 올바르게 지킨 시스템을 RESTful하다 말한다. 이해하기 쉽고 사용하기 쉬운 REST API를 만드는 목적으로 사용

728x90

'ComputerScience > Network' 카테고리의 다른 글

Cookie와 Session  (0) 2022.11.26
HTTP  (0) 2022.11.21