관리 메뉴

개발공부기록

네트워크 - 기본이론, 클라이언트와 서버, 인터넷 통신, IP(인터넷 프로토콜), TCP, UDP, PORT, DNS 본문

자바 로드맵 강의/고급 2 - 입출력, 네트워크, 리플렉션

네트워크 - 기본이론, 클라이언트와 서버, 인터넷 통신, IP(인터넷 프로토콜), TCP, UDP, PORT, DNS

소소한나구리 2025. 2. 24. 17:36
728x90

출처 : 인프런 - 김영한의 실전 자바 - 고급2편 (유료) / 김영한님  
유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용


클라이언트와 서버

네트워크에서는 클라이언트와 서버라는 단어가 자주 등장하는데, 클라이언트와 서버는 네트워크나 컴퓨터에서만 사용되는 용어가 아니라 넓은 범위에서 일반적으로 사용되는 용어임

 

클라이언트 - 서버 개념의 기본 이해

  • 클라이언트: 클라이언트는 서비스를 요청하는 쪽임, 마치 식당에서 음식을 주문하는 손님처럼 클라이언트는 어떤 정보를 얻거나 작업을 처리해달라고 요청하는 역할을 함
  • 서버: 클라이언트의 요청을 받아들이고 그 요청에 맞게 서비스를 제공하는 쪽임, 식당에서 음식을 준비해서 손님에게 가져다주는 주방이나 웨이터가 서버의 역할을함

클라이언트는 서비스를 요청하는 쪽, 서버는 그 요청을 받아 서비스를 제공하는 쪽으로 이 관계는 일상 생활에서 매우 흔하게 나타나며 다양한 상황에서 적용될 수 있음

이 두 가지가 함께 작동하면 클라이언트가 요처을 보내고 서버가 그 요청을 처리해서 응답을 돌려주는 구조가 만들어지는데 이를 클라이언트-서버 모델이라고 함

 

객체와 클라이언트 - 서버 관계

Main 객체가 Service 객체의 메서드를 호출하면 Main 객체는 Service 객체에게 특정 작업을 요청한 것이므로 요청을 받은 Service 객체는 요청을 수행하고 결과를 반환함

여기서 Main객체가 클라이언트이고 Service 객체가 서버가 됨

 

여기서 응답이라는 의미는 단순히 결과 값을 반환하는 것을 넘어서 요청한 서비스를 수행한 것 자체를 의미함

즉, 반환 값이 없어도 클라이언트가 호출한 메서드를 서버가 수행한 것을 의미함(수행한 메서드의 반환값이 void여도 서버임)

 

네트워크와 클라이언트 - 서버 관계

네트워크는 여러 대의 컴퓨터가 서로 연결되어 데이터를 주고받을 수 있는 환경을 의미하며 인터넷이 대표적인 네트워크임

여기서도 클라이언트-서버 모델이 중요한 역할을 함

 

집에서 컴퓨터나 스마트폰을 이용해 웹사이트에 접속할 때 이런 장치가 클라이언트 역할을 하고, 웹사이트를 운영하는 컴퓨터가 서버 역할을 함

클라이언트가 서버에 "이 웹페이지를 보여줘"라고 요청하면 서버는 요청을 받아들여 웹페이지르 클라이언트로 보내주는 것임

 

클라이언트와 서버가 동시에 될 수 있음

Main 객체가 Service 객체에 요청을 보내면 Service 객체는 Repository 객체에게 필요한 추가 요청을 한다고 가정

  • Main 객체와 Service 객체의 관계에서는 Main 객체가 클라이언트가 되고 Service 객체는 서버가 됨
  • Service 객체와 Repository 객체 사이의 관계에서 Service 객체는 클라이언트가 되고 Repository 객체는 서버가 됨
  • Service 객체가 상황에 따라서 서버이면서 동시에 클라이언트가 되는 것을 볼 수 있음

정리

  • 클라이언트-서버 모델은 서비스를 요청하는 쪽(클라이언트)와 그 요청을 처리해서 서비스를 제공하는 쪽(서버)간의 관계임
  • 이 모델은 일상에서도 객체지향 프로그래밍에서도 네트워크에서도 매일 사용하는 웹사이트와 애플리케이션에서도 매우 광범위하게 사용됨

인터넷 통신, IP(인터넷 프로토콜), TCP, UDP, PORT, DNS

728x90