[Web]REST API

meek·2023년 6월 11일
0

TIL

목록 보기
8/24
post-thumbnail

패스트캠퍼스의 'Javascript 코딩테스트 131개 예제 & CS지식으로 끝내기' 강의를 듣고 정리한 내용입니다.

REST 등장 배경

  • HTTP는 다양한 HTTP 메서드(GET, POST, PUT, DELETE 등)를 지원한다.
  • 실제로는 서버가 HTTP 메서드를 기존 설명에 맞게 사용하지 않더라도, 프로그램 개발은 가능하다.
  • 하지만 각 서비스가 서로 다른 방식으로 개발하면, 개발자 사이의 소통에 문제가 발생할 수 있다.
  • 따라서 기준이 되는 아키텍처로 REST를 채택할 수 있다.
    👉🏻 특정한 서비스에서는 HTTP 메서드를 사용하지 않았다면 나중에 다른 서비스와 협력할 때 개발자들끼리 다른 프로토콜을 사용하게 된다. 그렇게 되면 소통상의 문제가 생기기 때문에 기준이 되는 아키텍처를 사용하는 것이 좋다.

REST 이해하기

  • Representational State Transfer
  • 말 그대로 특정한 자원(resource)에 대하여, 자원의 상태에 대한 정보를 주고받는 개발 방식이다.

REST의 구성 요소

구성 요소설명
자원(resource)URI를 이용
행위(verb)HTTP 메서드를 이용
표현(representation)페이로드(payload)를 이용

💡URI?

URI는 인터넷에 있는 자원을 나타내는 유일한 주소이다. URI의 존재는 인터넷에서 요구되는 기본조건으로서 인터넷 프로토콜에 항상 붙어 다닌다. URI의 하위개념으로 URL, URN 이 있다.

REST 예제 살펴보기

  • REST 방식을 채택한 서버로 요청(request)을 보내는 예시는 다음과 같다.

  • 클라이언트가 회원가입을 하고 싶은 상태이다.

  • 이때, 아이디는 "gildong", 비밀번호는 "1234"로 설정하고 싶다면?

    구성 요소설명
    자원회원(user)
    행위회원 등록
    표현아이디: "gildong", 비밀번호: "1234"
  • 동일한 내용을 HTTP 패킷으로 표현하면 다음과 같다.

	URI: https://www.example.com/users
    HTTP Method: POST
    Payload: {"id" : "gildong", "password" : "1234"}

REST API

  • API(Application Programming Interface) : 프로그램이 상호작용하기 위한 인터페이스
  • REST API : REST 아키텍처를 따르는 API
  • REST API 호출 : REST 방식을 따르고 있는 서버에 특정한 요청(request)을 전송하는 행위

REST API 연습하기

profile
hello, world!

0개의 댓글