본문 바로가기

About my life/Development Studies

[Backend] 백엔드 서버의 핵심 역할과 구성 요소: 자세한 설명과 실제 예시

728x90
반응형
백엔드 서버란 ?


백엔드 서버는 웹 어플리케이션의 핵심 부분 중 하나로, 사용자와 데이터베이스 간의 상호 작용을 조율하고 전체 시스템의 동작을 관리합니다. 이 블로그 글에서는 백엔드 서버가 하는 일과 주요 구성 요소에 대해 자세히 알아보겠습니다.


1. 백엔드 서버의 역할:

 

백엔드 서버는 웹 어플리케이션에서 사용자와 데이터베이스 간의 상호 작용을 중개하고 전체 시스템의 핵심 로직을 처리하는 주체입니다. 주요 역할은 다음과 같습니다.

  • 사용자 요청 처리:
    • 사용자가 웹 페이지에 접속하면 백엔드 서버는 이 요청을 받아들이고 해당 요청에 대한 응답을 생성합니다.
    • 예시: 사용자가 로그인 페이지에 접속하는 경우, 백엔드는 로그인 폼을 제공하고, 사용자가 입력한 정보를 확인하여 인증을 수행합니다.
  • 데이터베이스 관리:
    • 백엔드 서버는 데이터베이스와의 상호 작용을 담당하며, 데이터의 조회, 추가, 수정, 삭제 등을 관리합니다.
    • 예시: 사용자가 게시글을 작성하면, 백엔드는 해당 글을 데이터베이스에 저장하거나, 요청에 따라 저장된 데이터를 불러옵니다.
  • 비즈니스 로직 수행:
    • 웹 어플리케이션의 핵심 비즈니스 로직을 처리하며, 클라이언트가 요청한 작업을 수행합니다.
    • 예시: 쇼핑몰 어플리케이션에서 상품을 구매하는 과정에서 주문 처리, 재고 관리 등의 비즈니스 로직을 백엔드에서 수행합니다.

2. 백엔드 서버의 구성 요소:

 

백엔드 서버는 다양한 구성 요소로 이루어져 있습니다. 각 구성 요소는 특정한 역할을 수행하여 전체 시스템이 원활하게 동작할 수 있도록 합니다.

  • 웹 서버:
    • 역할: HTTP 프로토콜을 기반으로 클라이언트의 요청을 받아들이고, 정적인 콘텐츠를 제공합니다.
    • 예시: Apache, Nginx
    • 상세 설명: 클라이언트가 웹 페이지를 요청하면 웹 서버는 정적인 HTML, CSS, JavaScript 파일과 같은 리소스를 제공합니다. 예를 들어, GET /home 요청에 대해 웹 서버는 home.html 파일을 반환합니다.
  • 애플리케이션 서버:
    • 역할: 동적인 웹 페이지를 생성하고, 비즈니스 로직을 수행합니다.
    • 예시: Tomcat, Express.js
    • 상세 설명: 애플리케이션 서버는 웹 서버로부터 요청을 받아, 필요한 데이터베이스 조회 및 비즈니스 로직을 수행한 뒤 동적인 컨텐츠를 생성하여 클라이언트에게 반환합니다.
  • 데이터베이스 서버:
    • 역할: 데이터베이스에 데이터를 저장하고 관리합니다.
    • 예시: MySQL, PostgreSQL
    • 상세 설명: 사용자 정보, 게시글, 주문 내역 등의 데이터를 저장하고, 백엔드 서버와 데이터베이스 간에 쿼리를 통해 데이터를 주고받습니다.
  • 보안 인프라:
    • 역할: 사용자 정보 보호, 암호화, 접근 제어 등 보안을 담당합니다.
    • 예시: SSL 인증서, 방화벽
    • 상세 설명: 백엔드 서버는 사용자의 개인 정보를 안전하게 보호하기 위해 SSL 인증서를 사용하여 암호화된 통신을 제공하고, 방화벽을 통해 불법적인 접근을 차단합니다.

이러한 구성 요소들이 함께 동작하여 백엔드 서버는 사용자에게 원활하고 안전한 웹


3. 백엔드 서버의 플로우 차트:

 

백엔드 서버의 작동 흐름을 시각적으로 이해하기 위해 플로우 차트를 활용할 수 있습니다. 아래는 간단한 예시를 통해 백엔드 서버가 사용자 요청을 처리하는 과정을 나타낸 플로우 차트입니다.

Figure 1. 백엔드 서버가 하는 역할 시각화

 

플로우 차트 설명:

  1. 사용자 요청 수신:
    • 사용자가 브라우저를 통해 웹 페이지에 접속하면, HTTP Request가 백엔드의 웹 서버에 도착합니다.
  2. 웹 서버 처리:
    • 웹 서버는 요청된 페이지가 정적인지 동적인지 판별합니다.
    • 만약 정적인 페이지라면, 저장된 HTML, CSS, JavaScript 파일 등을 클라이언트에게 바로 전송하여 웹 페이지를 렌더링합니다.
  3. 애플리케이션 서버로의 전달:
    • 동적인 페이지가 요청되면, 웹 서버는 애플리케이션 서버에 해당 요청을 전달합니다.
  4. 데이터베이스 조회 및 로직 처리:
    • 애플리케이션 서버는 받은 요청을 처리하기 위해 데이터베이스 서버에 데이터를 조회하고 필요한 비즈니스 로직을 수행합니다.
  5. 데이터 제공 및 응답:
    • 데이터베이스 서버는 요청에 필요한 데이터를 애플리케이션 서버에 전달하고, 애플리케이션 서버는 이를 동적으로 생성한 컨텐츠와 함께 클라이언트에게 응답합니다.
  6. 클라이언트에게 응답:
    • 클라이언트는 받은 응답을 해석하여 웹 페이지를 렌더링하고 사용자에게 보여줍니다.

이러한 플로우 차트를 통해 각 단계에서 백엔드 서버가 어떻게 동작하는지 시각적으로 파악할 수 있습니다.

728x90
반응형