Develop/Backend

REST API

회뜨는참치 2024. 7. 14. 21:47
반응형

REST API?

REST(Representational State Transfer) + API(Application programming Interface)이다.

웹 서비스를 만들기 위한 아키텍처 스타일로 클라이언트(웹 브라우저(크롬) 등)와 서버 간에 데이터를 주고받기 위해서 사용한다.

 

 

REST?

Representational State Transfer를 직역하면 [대표 상태 전송]이라는 의미로, 웹 서비스가 어떻게 동작해야 하는지에 대한 원칙이다.

REST는 자원(HTTP URI)을 정보(행위(HTTP Method)와 표현(JSON, XML, RSS 등))로 주고받는 것이다.

 

아래 사진과 같이 URI에 파라미터값들이 들어있고, 사용자가 요청하는 기능에 따라 Method가 서버로 전송되면 데이터베이스에서 CURD 값을 가져와서 웹 브라우저에 결과를 보여준다.

 

HTTP URI(Uniform Resource Identifier)를 통해 자원을 명시하고 Method를 통해 CRUD를 적용한다.

  • Method : 사용자가 원하는 기능을 의미하는데, POST(등록), GET(조회), PUT(덮어쓰기), DELETE(삭제) 등이 있다.
    • ex : 게시판에 글을 쓰면 사용자는 POST Method를 서버에 요청하는 것이다.
  • CURD : Create, Read, Update, Delete를 의미하는데 자원에 대해 Method를 통해 데이터베이스의 어떤 동작을 적용하는 것이다.
    • ex : 게시판에 사용자가 글을 쓰고 전송하면, 서버는 DB에 작성한 글 내용을 Create 하게 됨

그리고 그 결과를 JSON, XML 등으로 주고받는다.

 

 

 

API?

  • Application programming Interface를 직역하면 [응용 프로그램 프로그래밍의 인터페이스] 이다.
  • 운영체제나 프로그램 사이에서 데이터를 주고받기 위해 사용하는 형식 등을 의미

 

 

RESTful API?

  • REST 원칙을 지키며 설계된 API
  • REST API는 웹상의 자원을 이름으로 구분해 주고받는 걸 의미
  • RESTful API는 REST 원칙을 잘 지켜 자원을 주고받는 걸 의미한다.

 

 

REST API는 왜 사용할까요?

그건 웹에서 데이터를 효율적이고 유연하게 주고받기 위해서다.

  • 확장성: REST API는 분산 시스템에서 쉽게 확장이 가능
  • 유연성: 다양한 데이터 포맷 지원, 여러 플랫폼에서 사용 가능
  • 표준화: HTTP 표준을 따르기 때문에, REST API 사용 방법이 비교적 단순하고 명확

 

REST API를 사용할 때 장점

  • 사용하기 쉽다 : REST API 메시지의 의도가 명확해 쉽게 파악 가능
  • HTTP 프로토콜 인프라를 그대로 사용하기 때문에, 별도의 인프라 구축이 필요 없다.
  • HTTP 프로토콜 표준을 최대한 활용해 여러 장점 사용 가능
  • HTTP 표준 프로토콜을 따르는 모든 플랫폼에서 사용 가능
  • 여러 서비스 디자인에서 생길 수 있는 문제 최소화
  • 서버와 클라이언트의 역할 분리

 

 

REST API의 단점

  • 표준이 존재하지 않음
  • HTTP Method 형태가 제한적
  • Header 정보 값 처리가 필요해 전문성이 요구됨
  • 익스플로러와 호환 불가(동작 안 되는 경우가 많음)

 

반응형