Programming/Web

클라이언트와 서버

Boxya 2025. 5. 20. 21:14

[KT] AIVLE SCHOOL 36일차

 

웹 프로젝트의 기본 구조

  • 애플리케이션을 프레젠테이션 계층 , 애플리케이션 계층 , 데이터 계층으로 나누어 총 3개의 논리적이고 물리적인 컴퓨팅 계층으로 구성하는 소프트웨어 아키텍처
  • 각 계층이 자체 인프라에서 실행되어 동시에 개발될 수 있으며, 서로 다른 계층에 영향을 주지 않고 필요에 따라 업데이트 하거나 수정할 수 있음 (독립성 증가)

프리젠테이션 계층(클라이언트)

  • 서버에서 응답(Response)받은 결과를 화면에 렌더링하여 사용자에게 보여주고 서버에 원하는 데이터를 요청(Request)하는 프로그램. 
  • 해당 계층은 front-end라고도 불림
    • e.g. HTML, Javascript, CSS

애플리케이션 계층(서버)

  • 클라이언트에게 서비스를 제공하는 시스템으로,클라이언트의 요청(Request)에 데이터를 가공하여 응답(Response)하는 시스템
  • 해당 계층은 미들웨어 또는 back-end로 불림
    • e.g. Spring, PHP

데이터 계층(데이터베이스)

  • 애플리케이션에서 사용되는 데이터를 영구적으로 저장하고 관리하는 부분
  • 데이터베이스에 접근하여 데이터를 읽거나 쓰는 것을 관리하는 계층
    • e.g. MySQL DB, Oracle DB
  • 데이터베이스(DataBase)
    • 데이터 계층 또는 데이터베이스는 애플리케이션에서 사용되는 데이터를 영구적으로 저장하고 관리하는 부분
  • 데이터베이스 관리 시스템(DBMS)을 사용하여 구현됨
    • 주요 데이터베이스 관리 시스템으로는 MySQL, Oracle, PostgreSQL, MongoDB 등이 있으며, 각각의 데이터베이스는
      특정 용도나 성능, 확장성 등을 고려하여 선택될 수 있음
    • 데이터베이스는 다양한 형태의 데이터를 구조화 하여 저장하고, 필요에 따라 검색, 수정, 삭제, 추가 등의 작업을 수행할 수 있음
    • 일반적으로 데이터베이스는 테이블(Table)이라는 구조로 데이터를 저장하며, 각 테이블은 여러 개의 열(Column)로
      구성되어 있음
    • 데이터베이스는 관계형 데이터베이스(RDBMS)와 NoSQL 데이터베이스로 구분될 수 있음
    • 관계형 데이터베이스는 테이블 간의 관계를 중심으로 데이터를 저장하고 관리하는 반면, NoSQL 데이터베이스는 유연한 데이터 모델을 제공하여 비정형 데이터나 대규모 데이터를 다룰 때 유용
    • 데이터 계층은 어플리케이션과 데이터베이스 간의 상호작용을 관리하며, 데이터베이스에 저장된 데이터를 검색, 수정, 삭제, 추가 등의 CRUD 작업을 수행하여 어플리케이션의 요구에 따라 필요한 정보를 제공

'Programming > Web' 카테고리의 다른 글

Web  (0) 2025.05.20