새소식

Study

[면접 대비 공부] REST API / REST란? / REST의 구체적인 개념 / 좋은 REST API를 만드는 법1 / CRUD Operation/CS 면접 질문 대비..인데 왜이렇게 많아졌지

  • -

 

REST API란 무엇인가요?

 

REST API(RESTful API, 레스트풀 API)란

REST 아키텍처의 제약 조건을 준수하는 애플리케이션 프로그래밍 인터페이스입니다.

 

좀더 자세하게 말하면

웹에서 사용되는 데이터나 자원(Resource)을 HTTP URI로 표현하고, HTTP 프로토콜을 통해 요청과 응답을 정의하는 방식을 말합니다.

HTTP 프로토콜 기반으로 요청과 응답에 따라 리소스를 주고받기 위해서는 알아보기 쉽고 잘 작성된 메뉴판이 필요한데, 이 역할을 API가 수행해야 하므로 서로 잘 알아볼 수 있도록 작성하는 것이 중요합니다.

 

aws에서 정의하는 RESTful api

'RESTful api란 두 컴퓨터 시스템이 인터넷을 통해 정보를 안전하게 교환하기 위해 사용하는 인터페이스입니다. 대부분의 비즈니스 애플리케이션은 다양한 태스크를 수행하기 위해 다른 내부 애플리케이션 및 서드 파티 애플리케이션과 통신해야 합니다. RESTful API는 안전하고 신뢰할 수 있으며 효율적인 소프트웨어 통신 표준을 따르므로 이런 정보 교환을 지원합니다.'

출처 : aws


 

 

REST란?

- REST는 “Representational State Transfer”의 약자로, 웹의 창시자(HTTP) 중의 한 사람인 로이 필딩의 2000년 논문에서 웹(http)의 장점을 최대한 활용할 수 있는 네트워크 기반의 아키텍처로써 처음 소개됨

- REST는 프로토콜이나 표준이 아닌 *네트워크 아키텍처 스타일입니다.

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

👉🏻 (간단하게) 자원(resource)의 표현(representation)에 의한 상태 전달

 

REST의 구체적인 개념

  • HTTP URI(Uniform Resource Identifier)를 통해 자원(resource)을 명시하고 HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 *CRUD Operation을 적용하는 것
  • 자원 기반의 구조(ROA, Resource Oriented Architecture) 설계의 중심에 resource가 있고 HTTP Method를 통해 resource를 처리하도록 설계된 아키텍처
  • 웹 사이트의 이미지, 텍스트, DB등의 모든 resource에 고유한 ID인 HTTP URI를 부여한다.

 

* 네트워크 아키텍처란?

   자원을 정의하고 자원에 대한 주소를 지정하는 방법 전반

 

* CRUD Operation

- Create: 생성(POST)

- Read: 조회GET

- Update: 수정PUT

- Delete: 삭제 DELETE

- HEAD: header 정보 조회 HEAD

 

 

자원(resource)의 표현(representation)

- 자원  : 해당 소프트웨어가 관리하는 모든 것

ex ) 문서, 그림, 데이터, 해당 소프트웨어 자체 등

- 자원의 표현 : 그 자원을 표현하기 위한 이름

ex) DB의 학생 정보가 자원이면 'students'를 자원의 표현으로 정한다.

 

상태(정보)의 전달

- 데이터가 요청되어지는 시점에서 자원의 상태(정보) 전달 

- JSON 혹은 XML을 통해 데이터를 주고 받는 것이 일반적

- 월드 와이드 웹(www)과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 개발 아키텍처의 한 형식

- 기본적으로 웹의 기존 기술과 HTTP protocol을 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍처 스타일이다. (이게 핵심)

- 네트워크 상에서 client와 server 사이의 통신 방식 중 하나

 

 

플랫폼에 맞추어 새로운 서버를 만들 필요가 없도록 범용적 사용성을 보장하는 서버 디자인이 바로

HTTP 표준 규약을 지키면서 API를 만드는 것이다.

 

 


 

⬇ 다음에 REST API에 대해 정리할 내용

    REST의 구성

  • Resource(자원) : URI
  • Verb(자원에 대한 행위) : HTTP Method
  • Representations(자원에 대한 행위의 내용) : HTTP Message Payload

 

 

 

 

면접용 요약정리

REST API란?

REST 아키텍처의 제약 조건을 준수하는 애플리케이션 프로그래밍 인터페이스입니다.

좀더 자세하게 말하면

웹에서 사용되는 데이터나 리소스를 HTTP URI로 표현하고, HTTP 프로토콜을 통해 요청과 응답을 정의하는 방식을 말합니다.

 

그럼 REST란?

웹의 장점을 최대한 활용할 수 있는 네트워크 기반의 아키텍처 스타일입니다.

 

Contents

포스팅 주소를 복사했습니다.

이 글이 도움이 되었다면 공감 부탁드립니다.