일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 2024 정보처리기사 수제비 실기
- @Aspect
- 자바 중급2편 - 컬렉션 프레임워크
- 스프링 mvc1 - 스프링 mvc
- 스프링 트랜잭션
- 자바의 정석 기초편 ch4
- 자바 고급2편 - 네트워크 프로그램
- 자바의 정석 기초편 ch2
- 자바의 정석 기초편 ch5
- 자바 고급2편 - io
- 데이터 접근 기술
- 자바의 정석 기초편 ch9
- 자바 중급1편 - 날짜와 시간
- 2024 정보처리기사 시나공 필기
- 스프링 입문(무료)
- 자바의 정석 기초편 ch1
- 스프링 고급 - 스프링 aop
- 자바의 정석 기초편 ch7
- 자바의 정석 기초편 ch11
- 자바의 정석 기초편 ch14
- 람다
- 자바의 정석 기초편 ch13
- 스프링 mvc2 - 검증
- 자바로 계산기 만들기
- 스프링 mvc2 - 로그인 처리
- 자바의 정석 기초편 ch12
- 자바 기초
- 자바로 키오스크 만들기
- 자바의 정석 기초편 ch6
- 스프링 mvc2 - 타임리프
- Today
- Total
개발공부기록
네트워크 - 기본이론, 클라이언트와 서버, 인터넷 통신, IP(인터넷 프로토콜), TCP, UDP, PORT, DNS 본문
네트워크 - 기본이론, 클라이언트와 서버, 인터넷 통신, IP(인터넷 프로토콜), TCP, UDP, PORT, DNS
소소한나구리 2025. 2. 24. 17:36출처 : 인프런 - 김영한의 실전 자바 - 고급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
- 해당 내용은 https://nagul2.tistory.com/134, https://nagul2.tistory.com/136을 참고
- 김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식 강의를 듣는 것을 권장함
'자바 로드맵 강의 > 고급 2 - 입출력, 네트워크, 리플렉션' 카테고리의 다른 글
네트워크 - 프로그램, 네트워크 프로그램 - 자원정리 적용, 네트워크 예외(연결 예외, 타임아웃, 정상 종료, 강제 종료) (0) | 2025.02.26 |
---|---|
네트워크 - 프로그램, 네트워크 프로그램1, 네트워크 프로그램2, 네트워크 프로그램3, 자원 정리 (0) | 2025.02.25 |
File, Files, 경로 표시, Files로 문자 파일 읽기, 파일 복사 최적화 (0) | 2025.02.24 |
I/O 활용, 회원 관리 예제(메모리, 파일에 보관, DataStream, ObjectStream), XML, JSON, 데이터베이스 (0) | 2025.02.22 |
I/O 기본, 문자 다루기(시작, 스트림을 문자로, Reader, Writer, BufferedReader), 기타 스트림 (0) | 2025.02.21 |