새소식

부스트캠프 AI Tech 4기

[Product Serving Part.5] 백엔드 프로그래밍

  • -

Server의 형태

  1. 모놀리식 아키텍쳐 (Monolithic Architecture)
    하나의 큰 서버에서 모든 것을 처리
  2. 마이크로서비스 아키텍쳐 (Microservice Architecture - MSA)
    개별 서버로 구성하고 서로 통신하도록 하는 경우

 

REST API

정보를 주고 받을 때 사용되는 형식
→ REST란 형식의 API

  • 요청의 모습을 보고 어떤 일을 하는지 알 수 있음
  • 기본적인 데이터 처리 : 생성, 조회, 수정, 삭제
  • CRUD : Create, Read, Update, Delete

Representational State Transfer의 약자
→  Resource, Method, Representation of Resource로 구성

  • Resource : Unique한 ID를 가지는 리소스, URI
    URL : Uniform Resource Locator로 인터넷 상 자원의 위치
    URI : Uniform Resource Identifier로 인터넷 상의 자원을 식별하기 위한 문자열의 구성, URI가 URL보다 더 포괄적인 범위

  • Scheme: 리소스에 접근하는 데 사용할 프로토콜. 웹에서는 http 또는 https를 사용
  • Host: 접근할 대상(서버)의 호스트 명
  • Path: 접근할 대상(서버)의 경로에 대한 상세 정보

 

  • Method : 서버에 요청을 보내기 위한 방식
    • GET : 정보 요청 (Read)
      • URL에 변수(데이터)를 포함시켜 요청
      • 데이터를 Header에 포함하여 전송
      • URL에 데이터가 노출되어 보안에 취약
      • 캐싱할 수 있음
    • POST : 정보 입력 (Create)
      • 데이터를 서버로 제출해 추가 또는 수정
      • URL에 변수(데이터)를 노출하지 않고 요청
      • 데이터를 Body에 포함
      • URL에 데이터가 노출되지 않아 기본 보안은 되어 있음
      • 캐싱할 수 없음
    • PUT : 정보 업데이트 (Update)
    • PATCH : 정보 업데이트 (Update)
    • DELETE : 정보 삭제 (Delete)

 

HTTP (Hyper Text Transfer Protocol)

정보를 주고 받을 때 지켜야 하는 통신 규약(프로토콜)

HTTP는 기본적으로 80번 포트 사용, 서버에서 80번 포트를 열어주지 않으면 HTTP 통신 불가능

 

 

 

Header와 Body

  • Http 통신은 Request하고, Response를 받을 때 정보를 패킷에 저장
  • Packet의 구조 : Header / Body
    • Header: 보내는 주소
    • Body: 실제 전달하려는 내용

 

 

Status Code

  • 클라이언트 요청에 따라 서버가 어떻게 반응하는지 알려주는 Code
  • 1XX(정보) : 요청을 받았고, 프로세스를 계속 진행
  • 2XX(성공) : 요청을 성공적으로 받았고 실행함
  • 3XX(리다이렉션) : 요청 완료를 위한 추가 작업이 필요
  • 4XX(클라이언트 오류) : 요청 문법이 잘못되었거나 요청을 처리할 수 없음
  • 5XX(서버 오류) : 서버가 요청에 대해 실패함

 

 

동기와 비동기

  • 동기(Sync)
    서버에서 요청을 보냈을 때, 응답이 돌아와야 다음 동작을 수행할 수 있음
    A 작업이 모두 완료될 때 까지 B 작업은 대기
  • 비동기(Async)
    요청을 보낼 때 응답 상태와 상관없이 다음 동작을 수행함

 

 

IP

  • 네트워크에 연결된 특정 PC 주소
  • 인터넷 상에서 사용하는 주소 체계
  • 4덩이의 숫자로 구성된 IP 주소 체계를 IPv4
  • localhost, 127.0.0.1 : 현재 사용중인 Local PC
  • 0.0.0.0, 255.255.255.255 : broadcast address, 로컬 네트워크에 접속된 모든 장치와 소통하는 주소
  • 개인 PC의 보급으로 IPv4로 할당할 수 있는 한계점 진입 → IPv6이 나옴

 

 

Port

  • IP 주소 뒤에 나오는 숫자
  • PC에 접속할 수 있는 통로(채널)
  • 사용중인 포트는 중복할 수 없음
  • 22 : SSH
  • 80 : HTTP
  • 443 : HTTPS

 

 

728x90
Contents