Web Development - 당신이 모르는 인터넷 세상의 '은밀한 거래' 서버, 클라이언트, IP주소, 포트: 이것만 알면 웹이 보입니다!
서버와 포트 ip주소
Web Development 기초
서버, 클라이언트, IP주소, 포트 쉽게 이해하기
웹 개발을 배우려면 제일 먼저 서버, 클라이언트, IP주소, 포트를 알아야 한다.
이 네 가지는 어려워 보이지만, 사실 아주 단순한 구조다.
하나씩 천천히 설명해보자.
1. 서버와 클라이언트는 둘 다 컴퓨터다
많은 사람들이 이렇게 생각한다.
서버는 뭐 거대한 기계이고,
클라이언트는 내 컴퓨터거나 스마트폰이라고.
하지만 사실 둘 다 그냥 **컴퓨터(호스트)**다.
이 컴퓨터들이 서로 역할을 나눈 것뿐이다.
-
서버: 요청을 받고, 필요한 자료를 보내주는 역할
-
클라이언트: 서버에게 요청을 보내는 역할
-
호스트: 네트워크에 연결된 모든 컴퓨터를 부르는 이름
즉, 서버도 클라이언트도 모두 호스트이다.
그저 역할과 상황에 따라 이름이 달라질 뿐이다.
2. 호스트는 모두 IP주소를 가진다
호스트는 인터넷에 연결된 컴퓨터다.
컴퓨터가 서로 연락하려면 주소가 있어야 한다.
그 주소가 바로 IP주소다.
IP주소는 이렇게 생겼다.
192.168.0.10
사람으로 치면 집 주소라고 생각하면 된다.
이 주소로 찾아갈 수 있기 때문이다.
3. 하나의 IP주소에는 여러 프로그램이 돌아간다
여기서 중요한 질문이 생긴다.
하나의 컴퓨터는 하나의 IP주소를 가진다고 하자.
그런데 그 컴퓨터 안에는 프로그램이 여러 개 실행될 수 있다.
예를 들어
웹 서버 프로그램
게임 서버 프로그램
파일 서버 프로그램
그러면 컴퓨터가 어떻게
"어떤 프로그램에게 연락해야 하는지"
구분할 수 있을까?
바로 여기서 **포트(Port)**가 필요하다.
4. 포트는 프로그램을 구분하는 번호다
포트번호는 컴퓨터 안에 실행되는 프로그램을 구분하기 위한 숫자다.
즉, "이 컴퓨터의 어떤 프로그램에게 이야기할까?"를 고르는 번호다.
아파트 비유를 써보자.
-
IP주소 = 아파트 동
-
포트번호 = 동 안의 호수
즉,
같은 아파트(같은 컴퓨터) 안에서도
다른 호수(다른 프로그램)로 갈 수 있어야 한다.
그래서
IP주소가 집을 찾는 주소라면,
포트번호는 그 집의 특정 방을 찾는 번호다.
5. 정리
-
서버, 클라이언트, 호스트는 모두 컴퓨터다.
-
역할이 다를 뿐, 모두 IP주소를 가진다.
-
하나의 IP주소(컴퓨터) 안에서 여러 프로그램이 돌아갈 수 있다.
-
그 프로그램들을 구분하는 번호가 포트번호다.
-
IP주소는 아파트 동수
-
포트번호는 그 아파트의 호수
- 역할: 피자를 주문하는 사람입니다. "웹사이트 보여줘!" 하고 요청(Request)을 보냅니다. 당신이 지금 이 글을 보기 위해 사용하는 기기가 바로 클라이언트입니다.
- 역할: 주문을 받고 피자를 만들어(데이터 처리) 배달하는 가게입니다. 요청받은 웹 페이지나 데이터를 응답(Response)으로 돌려보냅니다. 서버는 24시간 내내 대기하며 주문을 기다립니다.
- 역할: 피자 가게의 정확한 주소(예: 서울시 강남구 역삼동 123-45)입니다. 클라이언트는 이 주소를 알아야 서버에게 정확하게 요청을 보낼 수 있습니다. "네이버(Naver)" 같은 도메인 이름은 사람이 기억하기 쉬운 별명이고, 실제 통신은 이 IP 주소를 이용해 이루어집니다.
- 역할: 피자 가게에 '주문 접수 창구(웹 서비스)', '영업부 창구(이메일 서비스)', '화물 창구(파일 전송)' 등 여러 개의 창구가 있는 것과 같습니다.
- 웹 서비스는 주로 80번 포트(HTTP)나 443번 포트(HTTPS)를 사용합니다.
- IP 주소가 건물의 주소라면, 포트는 그 건물 안의 몇 호인지, 어떤 창구를 이용해야 하는지를 알려주는 역할을 합니다.
댓글
댓글 쓰기