공부

[IT 인프라] 서버와 클라이언트, 서버의 역할 및 종류

AVONADO 2026. 4. 20. 21:11

 

서버 : 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 장치(H/W)

클라이언트 : 네트워크를 통하여 서버에 접속해 정보를 확인하거나 서비스를 이용하는 장치(H/W)

 

 

클라이언트 컴퓨터 : 서버 컴퓨터에 응용 프로그램을 요청한 뒤 서버에서 보내주면 실행

서버 컴퓨터 : 응용 프로그램을 가지고 있다가 클라이언트 컴퓨터에서 요청하면 보냄

- 대기업의 경우 서비스 요청이 무수히 많아서 하나하나 다 응대하려면 서버가 수만대가 있어야함

 

웹 애플리케이션(웹 서버)의 구성

- 프로그램 코드(소스코드)

- 웹 서버

- 웹 애플리케이션 서버

- 캐시 서버

- 리버스 프록시 서버

- DB 서버

보통 하나의 서버장치로 다 쓰기도 하는데 그래도 한계가 있으니까 보통은 여러대로 웹서버를 구성함.

작은 서버면 서버 한 대로 괜찮음

 

  • 웹 서버
    • 정적 콘텐츠(소스코드, 텍스트, 이미지 등)을 클라이언트에 전달
    • 클라이언트가 요청한 콘텐츠를 탐색해서 요청내용을 보냄
    • 이 때 요청 기록(Log)을 반드시 남김
  • 애플리케이션 서버
    • 동적 콘텐츠(소스코드, 스트리밍 동영상, 결제 정보 등)을 클라이언트에 전달
    • 동적 콘텐츠란 클라이언트의 요청에 따라 달라지는 콘텐츠
      • ex) 유튜브, 넷플릭스 -> 사용자마다 시청기록, 시청하던 시점 등이 다름
      • ex) 쇼핑몰 -> "결제"라는 사용자의 요청이 있을 때에만 생성 됨
    • 클라이언트가 요청한 동적 콘텐츠를 웹 서버를 통해서 클라이언트에게 전달해줌
      • 클라이언트 > 웹 서버 > 애플리케이션 서버 > 웹 서버 > 클라이언트
      • 웹 서버는 알바할 때 카운터 역할, 클라이언트가 서버에 뭔가를 요청할 때 항상 처음 응대하는 서버
  • DB 서버
    • 애플리케이션의 정보를 저장해서 운영 관리할 수있는 데이터베이스를 구동하는 서버
    • ex) 클라이언트에서 id 7번 글을 클릭, 해당 글은 정적 컨텐츠, 글에 포함된 영상은 동적 컨텐츠임.
      • 하지만 웹서버와 애플리케이션 서버는 컨텐츠를 그냥 들고만 있고 각 컨텐츠가 id 7번글의 콘텐츠인지 어디인지 모름
      • 그래서 DB서버에 요청해서 조회할 데이터에 대한 컨텐츠를 받아와야 함
    • 클라이언트 > 웹 서버 > 애플리케이션 서버 > DB서버 > 애플리케이션 서버 > 웹 서버 > 클라이언트
  • 리버스 프록시 서버
    • 애플리케이션 서버가 여러개일시 어느 애플리케이션 서버에게 요청을 전달할지 정하는 서버
    • ex) 요청받은 영상이 1시간 짜리 영상인데 애플리케이션 서버 중 A서버가 바쁨. 그럼 다른 B서버에게로 클라이언트 요청을 돌리는 관리자 역할
    • 애플리케이션 서버가 여러대면 프록시 서버도 여러대
  •  포워드 프록시 서버
    • 클라이언트의 요청을 웹 서버에 대신 전달하여 사용자의 정보를 숨겨줌
    • IP주소같은 정보를 숨겨서 웹서버에 전달
    • 최근에 받았던 요청을 저장(캐싱)해서 동일한 요청이 올 때 웹 서버 > 애플리케이션 서버 > ... 등 거칠 필요없이 바로 클라이언트에게 응답해줌

 

서버는 클라이언트의 요청을 수행하기 위해 다양한 서버들끼리 통신한 후 결과를 클라이언트에 전달한다.