Azure 업무를 하며 Network와 AVD 위주로 스터디 해왔었는데, 웹/서비스 영역도 알아가고자 웹 스터디 시작합니다!
일단 아주 기초적인 용어 정리 부터 시작합니다.
인터넷, 웹, 인터넷 시스템, 서버, 클라이언트, 웹 서버, 웹 클라이언트, 프로토콜, IP, Public/Priavate IP, Domain Name, DNS
# 인터넷 (Internet)
인터넷(Internet)이란 여러 통신망을 하나로 연결한다는 의미의 ‘인터 네트워크(inter-network)’라는 말에서 시작되었으며, 이제는 전 세계 컴퓨터들을 하나로 연결하는 거대한 컴퓨터 통신망을 의미합니다.
이러한 인터넷은 클라이언트와 서버로 구성되며, TCP/IP라는 기본 프로토콜을 통해 제공되고 있습니다.
# 웹 (Web)
월드 와이드 웹(World Wide Web)이란 인터넷에 연결된 사용자들이 서로의 정보를 공유할 수 있는 공간을 의미합니다.
간단히 줄여서 WWW나 W3라고도 부르며, 간단히 웹(Web)이라고 가장 많이 불립니다.
인터넷과 같은 의미로 많이 사용되고 있지만, 정확히 말해 웹은 인터넷상의 인기 있는 하나의 서비스일 뿐입니다.
하지만 현재에는 인터넷과 웹이라는 단어가 서로 혼용되어 사용될 만큼 인터넷의 가장 큰 부분을 차지하고 있습니다.
웹에서는 HTML이라는 언어를 사용하여 누구나 자신만의 문서를 작성할 수 있습니다.
또한, 이렇게 작성된 웹상의 문서에는 HTTP라는 프로토콜을 사용하면 누구나 검색하고 접근할 수 있습니다.
# 인터넷 시스템 (Internet System)
여러분이 매일 사용하는 인터넷을 구성하고 있는 시스템을 인터넷 시스템(Internet System)이라고 합니다.
이러한 인터넷 시스템은 다음과 같이 수많은 서버(server)와 클라이언트(client)들로 구성되어 있습니다.
## 서버 (Server)
서버(server)란 인터넷 서비스를 제공하는 프로그램이나 컴퓨터를 의미합니다.
웹 시스템에서는 여러분이 컴퓨터나 스마트 폰 등 다양한 기기를 사용하여 방문하는 웹 사이트의 정보를 담고 있는 프로그램이나 컴퓨터를 웹 서버(web server)라고 부릅니다.
## 클라이언트 (Client)
클라이언트(client)란 서버가 제공하는 인터넷 서비스를 이용하는 사용자나 사용자가 사용하는 기기를 의미합니다.
웹 시스템에서는 여러분이 여러 웹 사이트를 방문하기 위해 사용하는 웹 브라우저 등을 예로 들 수 있습니다.
## 웹 서버 (Web Server)
웹 서버는 사용자가 요청하는 웹 페이지나 프로그램을 실행하여 해당 파일이나 그 결과를 사용자에게 제공하는 역할을 합니다.
사용자가 요청하면 언제나 웹 서비스를 제공해 줘야 하므로, 웹 서버는 항상 실행되어 있어야 합니다.
## 웹 브라우저 (Web Browser)
웹 브라우저란 웹 서버에서 웹 페이지를 가져오거나 웹 서버로 정보를 보낼 때 사용하는 프로그램입니다.
웹 브라우저는 사용자가 웹 페이지를 요청하면 웹 서버에 저장되어 있는 웹 페이지 정보를 불러와서 사용자의 화면에 출력해 줍니다.
전 세계적으로 다양한 웹 브라우저들이 사용되고 있으며, 대표적인 웹 브라우저로는 인터넷 익스플로러, 구글 크롬, 파이어폭스, 사파리, 오페라 등이 있습니다.
# 프로토콜 (Protocol)
프로토콜(protocol)이란 컴퓨터끼리 정보를 주고받기 위한 일종의 규칙이나 약속을 의미합니다.
우리가 보통 다른 사람과 대화하려고 할 때는 사용할 언어나 장치 등을 서로 일치시켜야만 원할한 대화를 할 수 있습니다.
이와 마찬가지로 컴퓨터끼리도 정보를 교환할 때 데이터의 형식이나 통신 순서 등을 미리 일치시켜야만 통신이 가능합니다.
이렇게 컴퓨터 사이의 통신에서 정보를 교환하기 위해 미리 만들어 둔 네트워크 통신 규약을 프로토콜이라고 부릅니다.
대표적인 프로토콜에는,
- 인터넷에서 사용되는 TCP(Transmission Control Protocol)와 IP(Internet Protocol)
- 웹에서 사용되는 HTTP(HyperText Transfer Protocol)
- 파일을 주고 받을 때 사용되는 FTP(File Transfer Protocol) 등이 있습니다.
# 인터넷 주소
인터넷 상에서 특정 컴퓨터나 서버를 찾기 위해서는 다음 두 가지 타입의 주소 중 하나를 알고 있어야만 합니다.
- IP 주소 (Internet Protocol address)
- 도메인 네임 (Domain Name)
*정확히 말해 인터넷 주소는 IP 주소만을 의미하며, 도메인 네임은 DNS 서버에서 IP 주소로 자동 변환됩니다.
## IP 주소 (Internet Protocol Address)
인터넷 상에는 수많은 컴퓨터와 서버들이 무수히 많이 연결되어 있습니다.
이렇게 많은 컴퓨터들이 인터넷 상에서 서로를 인식하기 위해 지정받은 식별용 번호가 바로 IP 주소입니다.
현재 사용되고 있는 IP 주소 체계는 IPv4(IP 버전4)로 0부터 255까지의 십진수 네 개를 점(.)으로 구분하여 사용합니다.
32비트의 주소 체계인 IPv4는 이론상 약 43억 개의 IP 주소를 나타낼 수 있지만, 인터넷의 급격한 발달에 따라 IP 주소가 부족해지는 현상이 발생합니다.
따라서 이에 대한 해결책으로 고안된 128비트의 주소 체계인 IPv6(IP 버전6)의 사용이 점점 증가되고 있는 추세입니다.
### 공인 IP (Public IP)
인터넷 사용자의 로컬 네트워크를 식별하기 위해 ISP(인터넷 서비스 공급자)가 제공하는 IP 주소이다. 공용 IP 주소라고도 불리며 외부에 공개되어 있는 IP 주소이다. 공인 IP는 전세계에서 유일한 IP 주소를 갖는다.
- 예) 20.11.212.43
### 사설 IP (Private IP)
일반 가정이나 회사 내 등에 할당된 네트워크의 IP 주소이며, 로컬 IP, 가상 IP라고도 한다. IPv4의 주소부족으로 인해 서브넷팅된 IP이기 때문에 라우터에 의해 로컬 네트워크상의 PC 나 장치에 할당된다.
- Class A : 10.0.0.0 ~ 10.255.255.255
- Class B : 172.16.0.0 ~ 172.31.255.255
- Class C : 192.168.0.0 ~ 192.168.255.255
## 도메인 네임 (Domain Name)
IP 주소는 '202.179.177.22'처럼 0부터 255까지의 십진수 네 개로 구성되기 때문에 사람이 외우기가 매우 어렵습니다.
이처럼 외우기 어려운 숫자 형태의 IP 주소를 사람이 기억하기 쉬운 문자 형태로 표현한 주소를 도메인 네임(Domain Name)이라고 합니다.
도메인 네임은 'naver.com'처럼 몇 개의 의미있는 문자들과 점(.)의 조합으로 구성됩니다.
이러한 도메인 네임은 네트워크 상에서 각각의 컴퓨터를 식별할 수 있게 해주는 호스트명이 됩니다.
### 도메인 네임 시스템 (Domain Name System)
도메인 네임은 오로지 사람이 외우기 쉽도록 만든 주소로 컴퓨터는 사실 그 의미를 이해할 수 없습니다.
따라서 도메인 네임을 실제 IP 주소로 변경해 주어야만 컴퓨터가 목적지를 제대로 찾아갈 수 있습니다.
이때 사용할 수 있도록 미리 도메인 네임과 함께 거기에 해당하는 IP 주소값을 한 쌍으로 저장하고 있는 데이터베이스를 DNS라고 부르며, 이 변환 과정은 네트워크 내부에서 자동으로 수행됩니다.
Reference
https://www.tcpschool.com/webbasic/www
'IT > Web' 카테고리의 다른 글
Ubuntu에서 간단하게 Flask로 Web Server 만들기! (0) | 2024.01.05 |
---|---|
Web Server 기본 (Apache & NGINX & MS-IIS) (0) | 2023.11.07 |
댓글