1. 네트워크란
네트워크(Network)는 두 대 이상의 장치(컴퓨터, 스마트폰, 태블릿 등)가 서로 연결되어 데이터를 주고받을 수 있는 구조를 말합니다. 즉, 장치 간에 연결과 통신이 가능한 상태를 의미합니다.
1.1 네트워크의 구성 요소
- 호스트(Host): 네트워크에 연결된 개별 장치로, IP 주소나 MAC 주소를 가지고 있음
- 매체(Media): 장치들 사이의 연결 수단, 장치들 간 신호를 전달하는 물리적 수단 (유선 케이블, 광케이블, 이더넷 케이블, Wi-Fi, 블루투스 등)
- 프로토콜(Protocol): 장치들 간 통신 규칙, 장치들 간 데이터 전송을 위한 통신 규칙으로 대표적으로 TCP/IP 사용
- 라우터(Router): 서로 다른 네트워크를 연결하고 경로를 지정함
- 허브(Hub)/스위치(Switch): 같은 네트워크 안에서 여러 장치를 연결하는 장비
1.2 네트워크의 종류
- PAN (Personal Area Network): 개인 장비 간 연결 (예: 블루투스)
- LAN (Local Area Network): 집, 사무실 등 좁은 범위 내의 네트워크, 빠르고 안정적
- MAN (Metropolita Area Network): 도시 단위 네트워크
- WAN (Wide Area Network): 광역 통신망. 여러 LAN을 연결함. 통신사들이 주로 운영
1.3 네트워크 사용 예시
- 가정: 공유기를 이용한 스마트폰, 노트북, TV 연결 등
- 기업: 사무실 네트워크, 프린터 공유, 파일 서버 사용 등
- 학교: 학사 시스템, 컴퓨터실 네트워크 등
2. 인터넷이란
인터넷(Internet)은 전 세계의 수많은 네트워크들이 서로 연결되어 하나의 거대한 통신망을 이룬 "네트워크들의 네트워크"입니다.
인터넷은 일종의 전 세계적인 통신 환경입니다. 인터넷 위에서 다양한 서비스들이 동작하고, 우리는 이를 통해 정보를 얻고 소통할 수 있습니다.
2.1 인터넷의 구성 요소
- 라우터(Router): 네트워크 간 경로를 설정하고, 패킷(데이터 조각)을 최적 경로로 전달
- IP 주소: 네트워크 상의 장비를 식별하는 고유 주소, IPv4(32비트)와 IPv6(128비트)
- DNS(Domain Name System): 사람이 기억하기 쉬운 도메인 이름을 IP 주소로 변환하는 시스템
- 서브넷(Subnet): IP 주소를 구간별로 나눠서 네트워크를 효율적으로 관리함
2.2 인터넷의 주요 프로토콜
- TCP (Transmission Control Protocol): 신뢰성 있는 연결 지향성 통신
- UDP (User Datagram Protocol): 속도가 빠르지만 신뢰성 없는 통신, 스트리밍 등에 사용
- IP (Internet Protocol): 패킷의 주소 지정 및 전달 책임
2.3 인터넷의 특징
- 전 세계 어디서든 접속 가능
- 개방된 표준 프로토콜 기반
- 다양한 서비스(웹, 이메일, 스트리밍 등)의 기반
2.4 인터넷 사용 예시
- 웹 브라우징, 이메일, 영상 통화, 원격 근무, 게임 등
- 클라우드 컴퓨팅, 가상 서버, API 통신 등도 모두 인터넷 기반
3. 웹(Web)이란?
웹(Web)은 인터넷 위에서 작동하는 대표적인 정보 공유 서비스입니다. HTML로 구성된 문서를 HTTP 프로토콜을 통해 주고받으며, 사용자는 웹 브라우저를 통해 정보를 조회하거나 입력할 수 있습니다.
3.1 웹의 구성 요소
3.1.1 클라이언트 측 (사용자 측)
- 웹 브라우저: 크롬, 사파리, 파이어폭스 등. HTML/CSS/JS를 해석하여 화면에 표시
- HTML (HyperText Markup Language): 웹 페이지의 구조를 정의하는 언어 (제목, 본문, 링크 등)
- CSS (Cascading Style Sheets): 색상, 폰트, 레이아웃 등 웹 페이지의 시각적 스타일을 지정하는 언어
- JavaScript: 웹 페이지에 동적인 동작을 부여하는 언어. 사용자 이벤트(버튼 클릭 등)에 따라 동작 처리 및 서버와 비동기 통신
3.1.2 서버 측 (웹 서버 및 백엔드)
- 웹 서버: 클라이언트의 요청을 처리하고 HTML, 데이터 등의 응답을 반환 (예: Apache, Nginx 등)
- 백엔드 로직: 로그인 처리, DB 조회 등 실제 처리 로직을 담당
- 데이터베이스(DB): 사용자 정보나 컨텐츠 저장소 (MySQL, MongoDB 등)
3.2 웹의 동작 흐름
1. 사용자가 웹 브라우저에 URL 입력
2. DNS를 통해 도메인이 IP 주소로 변환됨
3. 브라우저가 해당 IP의 웹 서버에 HTTP 요청 전송
4. 서버가 요청을 처리하고 HTML, 데이터 등의 응답 생성 및 반환
5. 브라우저가 응답을 받아 화면에 출력
6. 이후 필요한 이미지, JS, CSS 등 추가 요청이 자동 수행됨
3.3 웹의 통신 규약
- HTTP (HyperText Transfer Protocol): 요청-응답 기반의 무상태(stateless) 통신 프로토콜
- HTTPS (HTTP Secure): SSL/TLS 암호와가 적용된 안전한 HTTP
- REST API: 자원을 URL로 표현하고 HTTP 메서드로 조작하는 API 설계 방식
- GraphQL: 클라이언트가 원하는 데이터만 요청할 수 있는 쿼리 언어 기반 API
- 상태 코드: 서버의 응답 상태를 나타내는 숫자 코드 (예: 200 OK, 404 Not Found, 500 Internal Server Error)