클라이언트 - 서버 통신

귀찮Lee·2022년 6월 7일
0
post-thumbnail

◎ 클라이언트-서버 아키텍쳐

  • 서버의 필요성

    • 만약 클라이언트 부분만 있다면, 실시간 정보를 반영하기가 어려움 (계속 업데이트 해야함)
    • 클라이언트에서 정보를 취합하기가 불가능하다 (쇼핑 주문한 내역...)
  • 클라이언트 서버 아키텍처(2티어 아키텍쳐)

    • 클라이언트 : 사용자가 직접 경험하는 부분
    • 서버 : 클라이언트에서 요청시에 데이터를 전달해주는 부분
    • 여기에 DB(Database)를 포함하면 3티어 아키텍쳐 라고 한다.
    • 백엔드 개발자는 서버와 DB를 관리, 그리고 서버와 DB 사이 통신과정 등을 담당
  • 클라이언트, 서버 종류

    • 클라이언트 : 보통 플랫폼으로 분류
      • 웹사이트 또는 웹 앱 : 브라우저를 통해 주로 이용하는 웹(Web) 플랫폼에서의 클라이언트
      • 앱 : 스마트폰/태블릿 플랫폼, 그리고 윈도우와 같은 데스크탑 플랫폼에서 이용하는 앱도 클라이언트가 될 수 있다.
    • 서버 : 무엇을 하느냐에 따라 구분
      • 웹 서버, 파일 서버, 메일 서버, DB 서버 ...

◎ 프로토콜(protocol)

  • 프로토콜

    • 컴퓨터간의 통신 규약, 즉 약속
    • 웹 어플리케이션 아키텍쳐에서는 클라이언트와 서버간에서 HTTP라는 프로토콜을 이용
  • 프로토콜 특징

    • 같은 일을 하기 위해 "다양한 방법"이 존재할 수 있다.
    • 프로토콜은 각자의 프로토콜마다 지켜야 하는 규약이 존재

◎ 클라이언트-서버 통신과 API

  • API(Application Programming Interface)
    • 서버가 클라이언트에게 리소스를 잘 활용할 수 있도록 제공해준 인터페이스(interface)
    • 보통 인터넷에 있는 데이터를 요청할 때에는 HTTP라는 프로토콜을 사용하며, 주소(URL, URI)를 통해 접근할 수 있다.
    • HTTP 메서드
      • 하려는 행동에 맞게 적절한 메서드를 사용해야함
      • GET(조회), POST(추가), PUT, PATCH(수정), DELETE(삭제)

profile
배운 것은 기록하자! / 오류 지적은 언제나 환영!

0개의 댓글