rest API 란? 무엇일까?

김재우·2023년 3월 27일
0

restAPI

목록 보기
1/1

나는 지금까지 rest 가 편안이라는 뜻인줄 알았다..
편안하게 개발하라고 rest인줄 알았다 .. rest api 가 CRUD 에서

  • Read = GET 메서드
  • Create = Post 메서드
  • Update = Patch 및 Put 메서드
  • Delete = Delete 메서드 이용

이렇게 개발자들끼리 개발을 이렇게 하자 라고 정해놓고 하자는 rule 이라고 생각했는데 ..?
내가 알고있는 부분하고 어떤게 다른지를 한번 알아보자!

rest?

"Representational State Transfer"의 약자

  • 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든것을 의미.
  • 즉 , 자원의 표현에 의한 상태 전달

  • REST는 네트워크 상에서 Client와 Server 사이의 통신 방식 중 하나이다.

    REST 의 구체적인 개념

    HTTP URI를 통해 자원을 명시하고 , HTTP Method 를 통해 자원에 대한 CRUD Operation 을 적용하는 것을 의미한다

  • 즉 , REST는 자원 기반의 구조설계의 중심에 Resource가 있고 HTTP Method를 통해 Resource 를 처리하도록 설계된 아키텍쳐를 의미.
  • 웹 사이트의 이미지,텍스트,DB 내용 등의 모든 자원에 고유한 ID인 HTTP URI를 부여한다.

API 작동 방식에 대한 조건을 부과하는 소프트웨어 아키텍처입니다. REST는 처음에 인터넷과 같은 복잡한 네트워크에서 통신을 관리하기 위한 지침으로 만들어졌습니다. -AWS https://aws.amazon.com/ko/what-is/restful-api/

REST의 장단점

  • 장점
  1. HTTP 프로토콜의 인프라를 그대로 사용하므로 REST API 사용을 위한 별도의 인프라를 구출할 필요가 없다.
    2.서버와 클라이언트의 역할을 명확하게 분리할 수 있다.
    3.REST API 메서드가 의도하는 바를 명확하게 나타내므로 개발 하는데 수월해짐.
  • 단점
  1. 표준이 존재하지 않음.
  2. 사용할 수 있는 Method가 4가지 밖에 없음. =(HTTP Method 형태가 제한적임)
  3. 구형 브라우저가 아직 제대로 지원해주지 못하는 부분이 존재한다. =(PUT,DELETE를 사용하지 못한다.)

REST 아키텍처 스타일

  • 무상태
  • 계층화 시스템
  • 균일한 인터페이스
  • 캐시 가능성

REST API란?

  • REST 아키텍처 스타일을 따르는 API를 REST API 라고 한다.

RESTful이란?

  • REST 아키텍처를 구현하는 웹 서비스를 RESTful 웹서비스 라고 한다. RESTful API라는 용어는 일반적으로 RESTful 웹 API를 나타낸다. 하지만 REST API와 RESTful API라는 용어는 같은 의미로 사용할 수 있다.

Restful 하지 않은 설계란?

  • 예약 생성 : POST /reservation/2013012500001?cmd=insert
  • 예약 수정 : POST /reservation/2013012500001?cmd=update
  • 예약 조회 : POST /reservation/2013012500001?cmd=select
  • 예약취소 : POST /reservation/2013012500001?cmd=delete

한 블로그가 예시를 잘 들어서 가져와봤다. 예시
이렇게 모든 CRUD 를 POST 메서드를 이용해서 설계하는것을 RESTful 하지 못한 설계라고 한다.


마지막으로 내가 알고 있는 내용하고 크게 다르지 않다. REST 는 중요한 구성 요소중 하나인 Resource인것이고 이 자원을 핸들링 하기 위해서 HTTP 의 전송 메서드를 사용하는거라고 생각하면 된다. Resource들은 명사로 표시해야 하며 동사가 포함이 되면 혼란을 가져올 수 있다.

profile
프론트엔드 꾸준개발자입니다.

0개의 댓글