기록과 정리의 공간

[웹프로그래밍] REST API란? 본문

웹 프로그래밍

[웹프로그래밍] REST API란?

딸기맛도나쓰 2020. 9. 6. 00:10

1. REST란?

  • REpresentational State Transfer의 약자
  • 2000년도에 HTTP의 주요 저자인 로이 필딩이 웹(HTTP) 설계의 우수성에 비해 제대로 사용되어지지 못하는 모습에 안타까워하며 웹의 장점을 최대한 활용할 수 있는 아키텍처로써 REST를 발표함.
  • 자원(resource)의 표현(representation)에 의한 상태 전달. HTTP URI를 통해 자원을 명시하고, HTTP Method를 통해 자원에 대한 CRUD Operation 적용

2. REST의 구성

  • 자원(RESOURCE) - URI
  • 행위(Verb) - HTTP Method
    • Create : 생성 (POST)
    • Read : 조회 (GET)
    • Update : 수정 (PUT)
    • Delete : 삭제 (DELETE)
  • 표현(Representations)

3. REST API란?

  • REST를 기반으로 서비스 API를 구현한 것.
  • 마이크로 서비스, OpenAPI등에서 많이 사용 됨.

4. REST API 디자인 가이드

  • 설계 시 가장 중요한 항목은 아래 2가지로 요약할 수 있다. 아래 2가지는 반드시 기억해두자!!!
    • 1. URI는 정보의 자원을 표현해야 한다.
    • 2. 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE)로 표현한다.

5. HTTPie (툴)

  • 공식 사이트
  • CLI HTTP 클라이언트이다. HTTP개발이나 디버깅 용도로 사용된다.
  • REST API를 만들 때 유용하게 사용될 수 있다.
  • 사용법
    • HTTP메서드를 명시하지 않는다면 GET이 기본값이 된다.
    • 두 번째 명령 처럼 -v를 쓴다면 송신 HTTP프로토콜 데이터 또한 함께 출력 된다.
http HTTP메서드 URI 
http -v URI

  • 맨 상단 참고 부분에 링크를 걸어둔 강의를 듣고 REST API와 관련하여 알게된 것들을 일부 적어본다.
    • 주소창에 웹 주소를 입력하면 웹 페이지 자체를 가져올 수도 있지만, 데이터를 가져올 수도 있다. 데이터를 가져오기 위해 HTTP프로토콜을 사용한다면, 그것은 REST API라고 할 수 있다. 즉, 요청에 대한 결과값을 리턴 받을 때 HTML페이지가 아니라 데이터를 리턴 받기 위해 REST API를 쓴다.
    • REST API를 통해 데이터를 가져와서 프론트엔드에서 웹 페이지를 구성하여 보여주는 경우가 많다고 한다.
      • 즉, 백엔드에서 REST API를 통해 프론트엔드와 통신하며 데이터를 제공해주면 이를 프론트엔드에서 처리하여 웹 페이지로 보여준다.
    • REST API를 구현할 때, 특정한 URI를 요청하면 JSON형식으로 데이터를 리턴(응답)하도록 구현하면 된다.
      • 최근의 트렌드가 데이터를 JSON포맷으로 응답을 보내는 것이라고 한다. 따라서, JSON을 잘 다룰 수 있어야 한다.

'웹 프로그래밍' 카테고리의 다른 글

[웹프로그래밍] HTTP 요청 메서드  (0) 2020.09.06
Comments