본문 바로가기
Java

서버(Sever)와 클라이언트(Client)

by yapdol 2023. 8. 1.

 

 

 

 

 

 

클라이언트 (Client)

: 요청하는 프로그램을 모두 일컬어 말함.

ex) 웹브라우저 : 클라이언트(웹브라우저 : 주소요청) ↔ 서버(스프링부터 : 주소에 맞는 화면으로 응답) 

 

 

 

서버 (Server)

: 클라이언트의 요청을 받아 처리하는 주체.

 

 

 

 클라이언트-서버 아키텍처 (2티어 아키텍처)

: 리소스가 존재하는 곳과 리소스를 사용하는 앱/웹을 분리한 것.

- 서버와 클라이언트 간의 역할과 책임을 분리해, 효율적이고 확장 가능한 시스템을 구축하는 데 사용.

 

[ 특징 ]

- 역할 분리 : 서버-클라이언트 독립성/상호작용 유연성 증가.

  •   클라이언트 - 사용자 인터페이스와 사용자 요청
  •   서버 - 데이터와 비즈니스 로직을 처리

- 통신 프로토콜 : 클라이언트-서버는 특정 통신 프로토콜을 사용하여 서로와 통신함.

  ex) HTTP(웹), SMTP/POP3/IMAP(이메일) 

 

- 확장성 : 새로운 클라이언트 추가 및  서버를 업그레이드하여 시스템을 확장하는 데 용이.

 

- 보안 : 데이터의 무단 접근을 통제하고, 보안 정책을 강제화하는 등 보안에 대한 관리가 용이

  •   서버 : 중앙 집중화된 위치에서 데이터를 관리
  •   클라이언트 : 데이터에 접근하기 위해 서버를 통해 요청