웹은 어떻게 동작하는가?

성정민·2020년 5월 9일
0

웹은 어떻게 동작할까?

부제 : www.wecode.com을 접속하면 일어난 일들이다.

간단히 얘기 해보자. 사용자가 브라우저에 요청을 하면 서버가 응답을 한다. 조금더 자세하게 얘기하자면 만약 사용자가 www.wecode.com라 브라우저에 검색(요청)을 하면 wecode 서버에서 응답을 한다.

여기서의 서버는 절대 꺼지지 않는 컴퓨터 라고 생각하면된다. 이 컴퓨터엔 전 세계의 사람이 어떤 시간대에 요청해도 접속할 수 있다. 이를 더 자세히 알기 위해선 호스팅(Hosting)이라는 개념을 알 필요가 있다. 집고 넘어가자.

Hosting(호스팅, Web Hosting Service)

호스팅이란 정보의 집약체인 서버의 전체 혹은 일부를 이용할 수 있도록 임대해주는 서비스를 말한다.

인터넷에 띄운다는것은 홈페이지의 구성파일들이(html, css, js) 인터넷에 항상 연결되고 절대 꺼지지 않는 호스트 컴퓨터(웹 서버)에 저장되어 있다가 사용자의 요청이 오면 언제든 응답 하는 것 즉 사용자에게 웹사이트의 비주얼을 보여준다는 것이다.
여기서 웹 서버는 절대 꺼지지 않는 컴퓨터 라고 생각하면 된다. 이렇게 절대적으로 안정적인 컴퓨터의 일부를 빌려서 우리는 웹 서버를 만들게 된다.

위 같은 서비스를 제공하는 예는 cafe24 호스팅센터나 AWS ec2/S3 등이 있다. 당장 구글에 '호스팅'이라 검색해봐도 다양한 호스팅 업체를 찾을 수 있다.
서버를 관리하기 위해서는 24시간 내내 안정적으로 전기를 공급해야 하고, 빠르고 안정적인 인터넷 회선을 사용해야 하며, 철저한 보안 시스템을 갖추고 있어야 한다. 따라서 개인이 서버를 관리하기보다 전문 업체의 호스팅 서비스를 사용하는 것이 일반적이다.
다시한 번 말하자면, 이 호스트 서버 안에 홈페이지를 시각화 하기 위해 필요한 모든 소스코드가 저장되어있다. 사용자가 요청하면 호스트 서버가 응답하여 사용자의 브라우저에 웹사이트를 구현한다.

잠깐! 그럼 브라우저는 어떻게 url을 알고 해당 호스트 서버에 접근하지??

이것은 IP주소를 통해 가능하다. IP에 대해 알아보자.

IP (Internet Protocol)

IP란 인터넷으로 통신하는 각 기기(컴퓨터, 통신장비)에 부여된 고유한 값을 뜻한다

스마트폰이나 노트북부터 대규모 소매 웹 사이트의 콘텐츠를 서비스하는 서버에 이르기까지 인터넷상의 모든 컴퓨터는 숫자를 사용하여 서로를 찾고 통신하며, 이러한 숫자들을 IP 주소라고 한다. ip에 관한 자세한 설명은 위사이트를 확인해 보시라.

정리하자면 사용자가 브라우저 주소를 요청 보내면 호스트 서버가 해당 브라우저의 IP주소를 찾아 사용자에게 응답한다. 그런데 우리는 한 번도 www.192.168.0.23.com 같은 모양의 브라우저 주소를 본 적이 없다. 왜그럴까? 이를 설명하기 위해선 도메인 개념을 알아야 한다

도메인(Domain)

도메인이란 문자(String)으로 된 고유 주소를 뜻한다. 수많은 IP주소를 외워서 접속하는건 불가능 하기 때문에 기억하기 쉬운 문자로 아이피 주소를 포장하는 포장지 역할을 한다

도메인이 포장지 역할을 한다고? 이해하기 힘든 사람을은 아래의 IP주소를 그대로 복사해서 검색해 보길 바란다.

  • opentutorials.org -> 115.68.24.88
  • naver.com -> 220.95.233.172
  • daum.net -> 114.108.157.19

이 도메인은 누구나 살 수 있다. 하지만 시간이 지나면서 좋은 도메인 이름은 먼저 선점 당해버려 후대의 사람들은 아예 그 도메인 이름을 사용할 수 없게 되었다. 그것을 보완하기 위해 사용하는 또 다른 도메인이 있다.

최상위 도메인(top level domain)

흔히 보던 도메인.com, 도메인.co.kr, 도메인.org 등을 최상위 도메인이라고 한다.

이미 선점된 도메인명의 사용 폭을 넓히기 위해 .com등의 최상위 도메인을 덧붙혀 도메인을 구매한다. 한국 최고의 포탈 사이트인 네이버는 이러한 혼선을 막기 위해 우리가 아는 www.naver.com도메인 외에도 www.naver.co.kr, www.naver.org등을 모두 독점한 상태이다. 이럴경우 도메인 비용은?... 아마 많이 비쌀것이다...🤭

이제 IP주소를 도메인으로 감싸서 전달한다는 것 까지는 이해할 거라고 믿는다. 이제 마지막 질문은 naver이라는 문자를 어떻게 컴퓨터가 해석하여 해당 IP주소를 찾아가는지에 대해 알아보도록 하자.

DNS(Domain Name System)

DNS 또는 Domain Name System은 사람이 읽을 수 있는 도메인 이름(예: www.wecode.com)을 기계가 읽을 수 있는 IP주소(예: 192.0.2.44)로 변환하는 것이다.

Amazon Route 53, Cafe24 도메인관리, 가비아 네임서버 관리 등과 같은 DNS 서비스는 전 세계에 배포된 서비스로서, www.wecode.com과 같이 사람이 읽을 수 있는 문자를 192.0.2.44와 같은 숫자 IP 주소로 변환하여 컴퓨터가 서로 통신할 수 있도록 한다.
인터넷의 DNS 시스템은 이름과 숫자 간의 매핑을 관리하여 마치 전화번호부같은 기능을 한다. DNS 서버는 도메인과 서버를 연결해주는 중간 서버로 문자에 대한 요청을 IP주소로 변환하여 사용자가 도메인 이름을 웹 브라우저에 입력할 때 해당 사용자를 어떤 서버에 연결할 것인지를 제어한다. 이 요청을 쿼리라고 부른다.
더 자세한 설명은 아마존DNS소개 페이지를 참고하자.

profile
인생을 사는 프론트앤드 개발자

0개의 댓글