[React] REST API

비트·2023년 5월 28일

React

목록 보기
1/12
post-thumbnail

REST API

  • REST API
    • 두 컴퓨터 시스템이 인터넷을 통해 정보를 안전하게 교환하기 위해 사용하는 인터페이스

REST ( Representational State Transfer )

  • API 작동 방식에 대한 조건을 부과하는 소프트웨어 아키텍처
  • 대규모의 고성능 통신을 안정적으로 지원할 수 있다.
  • 쉽게 구현하고 수정할 수 있어 모든 API 시스템을 파악하고 여러 플랫폼에서 사용할 수 있다.

REST 아키텍처 스타일의 원칙

균일한 인터페이스

  • 모든 RESTful 웹 서비스 디자인의 기본.
  • 균일한 인터페이스에는 4가지 아키텍처 제약 조건이 있다.
    1. 요청은 리소스를 식별해야 한다.
    2. 클라이언트는 원하는 경우 리소스를 수정하거나 삭제하기에 충분한 정보를 리소스 표현에서 가지고 있다.
    3. 클라이언트는 표현을 추가로 처리하는 방법에 대한 정보를 수신한다.
    4. 클라이언트는 작업을 완료하는 데 필요한 다른 모든 관련 리소스에 대한 정보를 수신한다.

무상태

  • 이전의 모든 요청과 독립적으로 모든 클라이언트 요청을 완료하는 통신 방법.

계층화 시스템

  • 클라이언트는 클라이언트와 서버 사이의 다른 승인된 중개자에게 연결할 수 있으며 여전히 서버로부터도 응답을 받는다.

캐시 가능성

  • 서버 응답 시간을 개선하기 위해 클라이언트 또는 중개자에 일부 응답을 저장하는 프로세스인 캐싱을 지원

온디맨드 코드

  • 서버는 소프트웨어 프로그래밍 코드를 클라이언트에 전송하여 클라이언트 기능을 일시적으로 확장하거나 사용자 지정할 수 있다.



REST API 장점

확장성

  • REST API를 구현하는 시스템은 REST가 클라이언트-서버 상호 작용을 최적화하기 때문에 효율적으로 크기 조정할 수 있다.

유연성

  • 각 부분이 독립적으로 발전할 수 있도록 다양한 서버 구성 요소를 단순화하고 분리.

독립성

  • API 설계에 영향을 주지 않고 다양한 프로그래밍 언어로 클라이언트 및 서버 애플리케이션을 모두 작성할 수 있다.



REST API 클라이언트 요청에는 무엇이 포함되어 있나?

고유 리소스 식별자

  • 서버는 고유한 리소스 식별자로 각 리소스를 식별한다.
  • REST의 경우 서버는 일반적으로 URL(Uniform Resource Locator)을 사용하여 리소스 식별을 수행한다.
    • URL은 리소스에 대한 경로를 지정.
    • URL은 웹페이지를 방문하기 위해 브라우저에 입력하는 웹 사이트 주소와 유사.
    • URL은 요청 엔드포인트라고도 하며 클라이언트가 요구하는 사항을 서버에 명확하게 지정.

메서드

  • Hypertext Transfer Protocol(HTTP)을 사용하여 RESTful API를 구현

GET

  • 웹 페이지나 데이터를 요청
    • 서버의 지정된 URL에 있는 리소스에 액세스한다.
    • GET 요청을 *캐싱하고 RESTful API 요청에 파라미터를 넣어 전송하여 전송 전에 데이터를 필터링하도록 서버에 지시할 수 있습니다.
      • 캐싱 : 파일 복사본을 캐시 또는 임시 저장 위치에 저장하여 보다 빠르게 액세스할 수 있도록 하는 프로세스

POST

  • 새로운 글이나 데이터를 전송
    • 서버에 데이터를 전송한다.
    • 요청과 함께 데이터 표현이 포함된다.
    • 동일한 POST 요청을 여러 번 전송하면 동일한 리소스를 여러 번 생성하는 부작용이 있다.

PUT / PATCH

  • 기존 리소스를 업데이트한다.

    • PUTPATCH
      전체를 변경일부를 변경
      멱등성O멱등성X
    • 멱등성(Idempotence)은 동일한 작업을 반복적으로 수행해도 결과가 변하지 않는 특성을 의미.

DELETE

  • 저장된 글이나 데이터를 삭제할 수 있다.
    • 리소스를 제거한다.
    • DELETE 요청은 서버 상태를 변경할 수 있다.
    • 하지만 사용자에게 적절한 인증이 없으면 요청은 실패.

HTTP 헤더

  • 클라이언트와 서버 간에 교환되는 메타데이터
    • 예를 들어, 요청 헤더는 요청 및 응답의 형식을 나타내고 요청 상태 등에 대한 정보를 제공.

데이터

  • REST API 요청에는 POST, PUT 및 기타 HTTP 메서드가 성공적으로 작동하기 위한 데이터가 포함될 수 있다.

파라미터

  • 수행해야 할 작업에 대한 자세한 정보를 서버에 제공하는 파라미터가 포함될 수 있다.
    • URL 세부정보를 지정하는 경로 파라미터.
    • 리소스에 대한 추가 정보를 요청하는 쿼리 파라미터.
    • 클라이언트를 빠르게 인증하는 쿠키 파라미터.
profile
Drop the Bit!

0개의 댓글