클라이언트-서버 구조에 흐름과 장단점

2025. 5. 15. 10:16·탐구하기

클라이언트-서버 구조(Client-Server Architecture)는 컴퓨터 네트워크에서 역할이 분리된 두 주체(클라이언트와 서버)가 요청과 응답(Request/Response)을 주고받으며 작동하는 구조입니다. 


✅ 1. 클라이언트-서버 구조의 흐름

  1. 클라이언트(Client)
    • 사용자가 사용하는 프로그램 (예: 웹 브라우저, 모바일 앱 등)
    • 서버에 **요청(request)**을 보냄 (예: 로그인, 데이터 조회 등)
  2. 서버(Server)
    • 요청을 처리하고, 클라이언트에게 **응답(response)**을 반환
    • 주로 데이터베이스와 연결되어 클라이언트 요청에 따른 데이터를 처리함
  3. 네트워크를 통한 통신
    • 보통 HTTP/HTTPS 프로토콜을 사용하여 통신
    • REST API 또는 GraphQL 등의 API 형태로 구조화됨

📊 예시:

[클라이언트] — (로그인 요청) → [서버]
[클라이언트] ← (성공 응답: 사용자 정보) — [서버]

✅ 2. 장점

장점 설명

🔌 역할 분리 클라이언트는 UI/UX 중심, 서버는 데이터 처리 중심 → 개발이 명확히 분리되어 협업에 용이
📦 재사용 가능 하나의 서버를 여러 클라이언트가 공유 가능 (웹, 앱 등 다양한 플랫폼에서 이용)
📈 확장성 서버 성능이나 용량을 독립적으로 확장할 수 있어 대규모 서비스에 적합
🔐 보안 관리 데이터는 서버에 저장되고 중앙 집중식 보안 관리가 가능
🛠 유지보수 용이 서버만 업데이트해도 모든 클라이언트에 영향 (예: 버그 수정, 기능 개선 등)

⚠️ 3. 단점

단점 설명

🧍 서버 의존성 서버가 중단되면 모든 클라이언트가 동작 불가 (단일 장애 지점, SPOF)
🐢 네트워크 지연 클라이언트-서버 간 통신에 따른 속도 지연 발생 가능
🔋 비용 문제 서버 운영 및 유지보수 비용이 발생 (서버, 네트워크 인프라 등)
🔄 상태 유지 어려움 HTTP는 비연결(stateless) 기반이라 사용자의 상태 유지(세션, 로그인 등)가 복잡할 수 있음
⚙ 복잡성 증가 서버 로직이 많아질수록 설계와 유지보수가 복잡해질 수 있음

✅ 요약 정리

항목 설명

구조 요청(Request)과 응답(Response) 기반
클라이언트 역할 사용자 인터페이스 및 사용자 요청 발생
서버 역할 요청 처리 및 데이터 제공
장점 역할 분리, 확장성, 보안 관리 등
단점 서버 의존, 네트워크 지연, 관리 비용 등

 

'탐구하기' 카테고리의 다른 글

Spring 프레임워크는 무엇일까?  (1) 2025.05.20
WAS란 무엇일까?  (1) 2025.05.19
HTTP는 무엇일까??  (0) 2025.05.14
MVC패턴은 무엇일까?  (1) 2025.05.13
트랜잭션은 무엇일까?  (1) 2025.05.13
'탐구하기' 카테고리의 다른 글
  • Spring 프레임워크는 무엇일까?
  • WAS란 무엇일까?
  • HTTP는 무엇일까??
  • MVC패턴은 무엇일까?
ayinyun
ayinyun
ayinyun 님의 블로그 입니다.
  • ayinyun
    ayinyun 님의 블로그
    ayinyun
  • 전체
    오늘
    어제
    • 분류 전체보기 (75)
      • SQL 개발 공부 (8)
      • JAVA 개발 공부 (4)
      • JavaScript(JS) (1)
      • React (1)
      • 탐구하기 (38)
      • KPT회고록 (14)
      • SpringBoot (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
ayinyun
클라이언트-서버 구조에 흐름과 장단점
상단으로

티스토리툴바