본문 바로가기
AI/MLOps

[HTTP & REST API ] 서버통신이론

by merona99 2024. 11. 25.
반응형
HTTP & REST API

서버 통신 이론

참고강의: 10개의 프로젝트로 한 번에 끝내는 MLOps 파이프라인 구현 초격차 패키지 Online.

 

 

본격적인 MLOps 강의에 들어가기 앞서서 가볍게 웹 관련 이론을 살펴보자.

 

 

 

[목차]

  1. HTTP 개요
  2. 클라이언트와 서버
  3. REST API 소개
  4. MLOps에서의 활용

 

 

 


 

 

1. HTTP 개요

HTTP란 무엇인가?

  • HTTP(HyperText Transfer Protocol)는 웹 상에서 데이터를 교환하기 위한 프로토콜
  • 텍스트, 이미지, 비디오 등 다양한 형태의 데이터를 클라이언트와 서버 간에 전송
  • 월드 와이드 웹의 기초적인 기술 중 하나로, 인터넷의 급속한 성장과 발전에 기여

 

요청 응답 프로세스

  • 클라이언트(웹 브라우저 or 소비자)가 서버에 특정 리소스를 요청
  • 서버는 이 요청을 처리하고 적절한 응답을 클라이언트에 반환

 

HTTP Method

  • GET: 서버로부터 정보를 조회
  • POST: 서버에 데이터를 전송
  • PUT: 서버에 데이터를 업데이트
  • DELETE: 서버의 리소스를 삭제
  • 각 method는 특정한 유형의 액션을 정의하며, RESTful API 설계의 핵심 구성 요소

 

HTTP 상태코드

  • 서버가 클라이언트의 요청을 어떻게 처리했는지 설명하는 코드
  • 클라이언트는 이 코드를 통해 요청의 성공, 실패 여부를 알 수 있음
  • 200 OK: 요청 성공적
  • 404 Not Found: 요청한 리소스를 찾을 수 없음
  • 500 Internal Server Error: 서버 내부 오류

 

 

2. 클라이언트와 서버

클라이언트의 역할

  • 웹 브라우저: 사용자가 웹 페이지를 요청할 때, 웹 브라우저는 클라이언트의 역할 수행, HTTP를 통해 서버에 페이지 요청을 보내고, 받은 응답을 사용자에게 보여줌
  • 응용 프로그램: 이메일 클라이언트, 온라인 게임, 모바일 앱 등도 예시가 됨. 각각의 애플리케이션은 서버와 통신하여 특정 기능을 수행

 

서버의 역할

  • 데이터 처리 및 관리: 클라이언트의 요청을 받아 데이터를 처리하고 관리, 데이터베이스 서버, 파일 서버 등 다양한 유형 서버가 존재
  • 자원 제공: 웹 서버는 웹 페이지, 이미지, 비디오 등의 자원을 제공. 서버는 이러한 자원을 저장하고 클라이언트의 요청에 따라 전송됨

 

웹 페이지 요청

  • 사용자가 브라우저에서 URL을 입력하면, 브라우저(클라이언트)는 해당 주소의 서버에 웹 페이지를 요청
  • 서버는 요청을 받고, 해당 웹 페이지의 HTML, CSS, Javascript 파일 등을 클라이언트에게 전송

 

이메일 전송

  • 사용자가 이메일 클라이언트를 사용해 메일을 보낼 때, 이메일 서버는 메일을 받아 수신자의 서버로 전송

 

 

3. REST API 소개

REST API란?

  • REST API는 웹 표준을 기반으로 서버와 클라이언트 간의 통신을 구현하기 위한 인터퓨ㅔ이스
  • 이는 자원(Resource)의 표현에 의한 상태 전달을 의미하며, 웹의 기본 프로토콜인 HTTp를 사용

 

작동 원리

  • REST API는 '자원(URI), 행위(HTTP Method), 표현(Representation)'의 세가지 구성 요소로 이루어짐
  • 클라이언트는 URI를 통해 자원을 지정하고, HTTP 메서드를 통해 해당 자원에 대한 행위(생성, 조회, 수정, 삭제)를 지정

 

상태 비저장성(statelessness)

  • REST는 상태 비저장성을 갖음
  • 즉, 서버는 클라이언트 상태틑 유지하지 않으며, 각 요청은 독립적으로 처리
  • 서버 처리가 단순화되고 확장성이 증가

 

REST API METHOD

  • GET: 서버로부터 정보를 조회
  • POST: 서버에 데이터를 전송
  • PUT: 서버에 데이터를 업데이트
  • DELETE: 서버의 리소스를 삭제
  • 각 method는 특정한 유형의 액션을 정의

 

 

4. MLOps에서의 활용

데이터 수집 및 처리

  • 고객의 상호작용 데이터는 REST API를 통해 실시간으로 수집되며, 이 데이터는 머신러닝 모델 학습에 사용

 

모델 서빙

  • 훈련된 모델은 REST API를 통해 제공되며, 웹사이트 및 모바일 앱에서 이 API를 호출하여 실시간 추천을 제공

 

모델 파이프라인 동작

  • 트레이닝 파이프라인은 자동화되어 있으며, 새로운 데이터가 들어올 때마다 모델을 재학습

 

MLOps 예시

대형 소매 업체의 상품 추천 시스템

  • 문제 상황: 다양한 상품을 취급하는 소매 업체가 온라인 고객에게 맞춤형 상품 추천을 제공
  • 해결 방법: 머신러닝 기반의 추천 시스템 개발. 모델을 고객의 구매 이력, 검색 행동, 상품 평가 데이터를 학습하여 개인화된 추천을 제공
  • 구현: HTTP와 REST API를 이용해 데이터 수집, 모델 서빙을 관리하며, 주기적으로 모델 트레이닝을 하여 개인화된 추천의 성능을 향상

 

 

 


 

 

// 해당 강의는 MLOps를 공부하는 것이 중점이기 때문에 위 정보들은 가볍게 넘어갔지만, 웹 개발자라면 더 깊게 자세히 알고 있어야 하는 부분이다.

 

반응형

'AI > MLOps' 카테고리의 다른 글

[Jenkins] CI/CD 실습  (0) 2024.11.22
[Jenkins] CI/CD 이론  (0) 2024.11.21
[Workflow] Airflow Workflow Management 실습  (0) 2024.11.16
[Workflow] Workflow Management 이론  (0) 2024.11.15
[쿠버네티스] Orchestrator 실습  (0) 2024.11.14

댓글