
✅ 클라이언트 (Client)
: 요청하는 프로그램을 모두 일컬어 말함.
ex) 웹브라우저 : 클라이언트(웹브라우저 : 주소요청) ↔ 서버(스프링부터 : 주소에 맞는 화면으로 응답)
✅서버 (Server)
: 클라이언트의 요청을 받아 처리하는 주체.
✅ 클라이언트-서버 아키텍처 (2티어 아키텍처)
: 리소스가 존재하는 곳과 리소스를 사용하는 앱/웹을 분리한 것.
- 서버와 클라이언트 간의 역할과 책임을 분리해, 효율적이고 확장 가능한 시스템을 구축하는 데 사용.
[ 특징 ]
- 역할 분리 : 서버-클라이언트 독립성/상호작용 유연성 증가.
- 클라이언트 - 사용자 인터페이스와 사용자 요청
- 서버 - 데이터와 비즈니스 로직을 처리
- 통신 프로토콜 : 클라이언트-서버는 특정 통신 프로토콜을 사용하여 서로와 통신함.
ex) HTTP(웹), SMTP/POP3/IMAP(이메일)
- 확장성 : 새로운 클라이언트 추가 및 서버를 업그레이드하여 시스템을 확장하는 데 용이.
- 보안 : 데이터의 무단 접근을 통제하고, 보안 정책을 강제화하는 등 보안에 대한 관리가 용이
- 서버 : 중앙 집중화된 위치에서 데이터를 관리
- 클라이언트 : 데이터에 접근하기 위해 서버를 통해 요청