-
Rest Api란?CS 지식/chat gpt와 TIL 2023. 7. 21. 20:33
REST API는 "Representational State Transfer Application Programming Interface"의 약자로, 웹 서비스와 클라이언트 간의 통신을 위한 아키텍처 스타일입니다. REST는 네트워크 아키텍처의 설계 원칙을 기반으로 하며, 주로 HTTP 프로토콜을 사용하여 데이터를 전송합니다. 클라이언트들이 가장 대중적으로 웹서버를 통해 정보를 얻을 때 사용하느 방법입니다. 두개의 컴퓨터가 서버를 통해 대화하는 방식이라고 생각하면 쉽습니다. 예를 들어 레시피 웹사이트는 AI 모델을 사용하여 ChatGPT REST API를 사용하여 동일한 재료를 기반으로 대체 레시피를 제안할 수 있습니다.
REST API는 다음과 같은 특징을 가지고 있습니다:
1. **자원 중심**: REST API에서는 모든 자원(데이터)을 고유한 식별자인 URI(Uniform Resource Identifier)로 표현합니다. 각 자원은 해당 URI를 통해 고유하게 식별되며, 클라이언트는 URI를 통해 자원을 식별하고 조작합니다.
2. **상태 없음**: REST API는 클라이언트와 서버 간의 상태를 유지하지 않습니다. 각 요청은 독립적이며, 필요한 정보를 모두 포함하고 있어야 합니다. 서버는 각 요청을 이해하고 적절한 응답을 반환합니다.
3. **HTTP 메서드**: REST API에서는 HTTP 메서드를 사용하여 자원에 대한 행위를 정의합니다. 주로 사용되는 HTTP 메서드는 다음과 같습니다:
- GET: 자원 조회 (make a read only request)
- POST: 자원 생성
- PUT: 자원 수정 (기존에 있던 자원에 대해서는 update역할을 하고, 존재하지 않은 자원에 대해서는 create를 합니다.)
- DELETE: 자원 삭제
4. **표준 포맷**: REST API에서는 주로 JSON 또는 XML과 같은 표준 데이터 포맷을 사용하여 데이터를 전달합니다. 이러한 포맷은 간결하고 가독성이 좋으며, 다양한 플랫폼과 언어에서 사용하기 쉽습니다.
REST API는 웹 서비스를 구축하고 통신하는 데 매우 흔히 사용되며, 다양한 애플리케이션 및 플랫폼 간의 상호작용을 위한 표준 방법 중 하나입니다. 많은 웹 서비스와 애플리케이션 프로그래밍 인터페이스가 REST 아키텍처를 따르고 있습니다.
Rest API의 형식은 크게 3개의 요소들로 이루어져있습니다.
1. URL endpoint;
- URL은 우리가 접근하려는 자원을 의미합니다.
자원들은 텍스트가 될 수 있고, 이미지들이 되거나 문서들이 될 수도 있습니다.
2. HTTP 동사
- 우리가 Url 목적지 리소스에서 하고 싶은 것을 의미합니다. 예를들으 a POST 요청은 우리가 새로운 무언가를 생성하고 싶다는 것을 의미합니다.
3. Body message.
-우리가 하려는 "동사/행위" 에 대한 목적이나 가치를 담은 메세지라고 보면 되며 필수가 아닌 선택적인 것이다.
상태코드
기본 RESTful 형식에서 HTTP 요청을 하면 HTTP상태코드를 보내줍니다.
코드에 대한 내용은 아래와 같습니다.
https://ssoontory.tistory.com/330
https://mannhowie.com/rest-api
'CS 지식 > chat gpt와 TIL' 카테고리의 다른 글
백로그 기반 지표란? (0) 2023.07.25 맥에서 SAM 설치 오류 해결. "zsh: command not found: sam" (0) 2023.07.23 api 호출이란? (0) 2023.07.21 Amazon EC2와 AWS Fargate (0) 2023.07.17 [ AWS ] EKS와 ECS 차이점은? (0) 2023.07.17