인터넷을 사용할 때 우리는 주소창에 웹사이트 주소를 입력합니다.
예를 들어 원하는 사이트의 주소를 입력하고 엔터키를 누르면 잠시 후 웹페이지가 나타납니다.
사용하는 사람 입장에서는 아주 간단한 과정입니다.
주소 입력 → 엔터 → 웹사이트 표시
그런데 생각해보면 조금 신기합니다.
인터넷에는 수많은 웹사이트가 있는데 컴퓨터는 우리가 입력한 주소를 보고 어떻게 정확한 웹사이트를 찾아가는 것일까요?
그 뒤에는 여러 가지 네트워크 과정이 숨 있습니다.
웹사이트 주소는 사람이 읽기 쉽게 만들어져 있다
우리가 인터넷 주소창에 입력하는 것은 보통
같은 형태의 문자입니다.
사람에게는 이런 이름을 기억하는 것이 훨씬 편합니다.
하지만 컴퓨터가 인터넷에서 다른 컴퓨터와 통신할 때는 이런 문자 주소만 사용하는 것이 아닙니다.
인터넷에 연결된 컴퓨터나 서버를 찾기 위해 IP 주소라는 숫자 형태의 주소를 사용합니다.
예를 들어 IPv4 주소는
192.168.0.1
처럼 숫자로 표현됩니다.
사람에게 웹사이트마다 이런 숫자를 외우라고 한다면 인터넷을 사용하기가 상당히 불편할 것입니다.
그래서 우리가 쉽게 기억할 수 있는 도메인 이름을 사용하는 것입니다.
DNS가 주소를 찾아준다
여기서 등장하는 것이 DNS(Domain Name System)입니다.
DNS는 쉽게 말하면 웹사이트 이름을 IP 주소로 연결해주는 시스템입니다.
우리가 주소창에 웹사이트의 도메인 이름을 입력하면 컴퓨터는 해당 이름과 연결된 IP 주소를 찾는 과정을 거칩니다.
쉽게 비유하면 전화번호부와 비슷합니다.
사람 이름만 알고 전화번호를 모를 때 전화번호부에서 이름을 찾아 전화번호를 확인하는 것처럼,
컴퓨터는 웹사이트 이름을 확인하고 어떤 IP 주소로 연결해야 하는지 알아냅니다.
그래서 사용자는 복잡한 숫자를 직접 입력하지 않아도 됩니다.
IP 주소를 찾았다고 바로 끝나는 것은 아니다
웹사이트의 IP 주소를 알아냈다고 해서 화면에 웹페이지가 바로 나타나는 것은 아닙니다.
이제 컴퓨터는 인터넷을 통해 해당 서버와 통신을 시작합니다.
사용자가 요청한 웹페이지를 서버에 요청하고, 서버는 요청받은 내용을 다시 컴퓨터로 보내줍니다.
컴퓨터는 전달받은 데이터를 웹브라우저를 통해 화면에 표시합니다.
그래서 우리가 보는 웹페이지는 사실 서버와 컴퓨터가 인터넷을 통해 데이터를 주고받은 결과입니다.
웹사이트마다 서버가 있는 걸까?
여기에서 또 하나 궁금한 점이 생길 수 있습니다.
“그럼 모든 웹사이트에는 각각 컴퓨터 한 대씩이 있는 걸까?”
꼭 그렇지는 않습니다.
웹사이트의 규모와 구성에 따라 여러 대의 서버를 사용할 수도 있고, 하나의 서버에서 여러 웹사이트를 운영할 수도 있습니다.
또한 데이터센터에 있는 여러 서버를 이용하거나 클라우드 서비스를 사용하는 경우도 있습니다.
따라서 우리가 인터넷에서 하나의 웹사이트를 보고 있다고 해서 그 웹사이트와 연결된 물리적인 컴퓨터가 반드시 한 대뿐이라고 생각할 필요는 없습니다.
웹사이트 주소 앞의 HTTPS는 무엇일까?
주소창을 보면 웹사이트 주소 앞에
https://
가 붙어 있는 경우가 많습니다.
HTTPS는 웹브라우저와 웹사이트 서버 사이에서 데이터를 주고받을 때 암호화된 통신을 사용하는 방식입니다.
예를 들어 로그인 정보나 개인정보처럼 다른 사람에게 노출되면 곤란한 정보를 인터넷으로 전송할 때 데이터를 보호하는 데 도움이 됩니다.
그래서 요즘 대부분의 웹사이트에서는 HTTPS를 사용합니다.
주소창의 자물쇠 표시 등을 통해 보안 연결 여부를 확인할 수 있는 것도 이와 관련이 있습니다.
우리가 엔터를 누르는 순간 일어나는 일
결국 주소창에 웹사이트 주소를 입력하고 엔터를 누르면 아주 간단해 보이는 행동 뒤에서 여러 과정이 이어집니다.
대략적으로 생각하면
웹사이트 주소 입력
↓
DNS를 통해 IP 주소 확인
↓
해당 서버와 연결
↓
웹페이지 데이터 요청
↓
서버에서 데이터 전달
↓
브라우저가 웹페이지 표시
와 같은 과정입니다.
사용자는 그 과정을 거의 느끼지 못합니다.
몇 초 또는 그보다 짧은 시간 안에 모든 과정이 이루어지기 때문입니다.
우리는 인터넷 주소창에 웹사이트 이름만 입력하면 원하는 페이지가 나타나는 것을 당연하게 생각합니다.
하지만 실제로는 컴퓨터가 그 이름을 바탕으로 어떤 서버에 연결해야 하는지 찾고, 서버와 데이터를 주고받은 뒤, 받은 정보를 웹페이지로 보여주는 과정을 거칩니다.
특히 DNS는 사람이 기억하기 쉬운 웹사이트 이름과 컴퓨터가 통신에 사용하는 IP 주소를 연결해주는 중요한 역할을 합니다.
그래서 우리가
“www.example.com을 입력한다.”
라는 간단한 행동만으로도 인터넷 속에서는 꽤 많은 일이 일어납니다.
매일 사용하는 인터넷도 조금만 들여다보면
주소 하나를 찾아가는 과정부터 여러 기술이 함께 움직이고 있다는 점이 재미있게 느껴질 지 모릅니다
댓글