본문 바로가기

WEB

[ WEB ] 인터넷과 웹의 차이점

반응형

 

CORS를 정리하려고 MDN 웹문서에서 링크를 계속 타다가 여기까지 와버렸다.

 

이 글은 MDN 웹문서를 보고 정리한 글이며, 저의 주관이 약간 들어가 있기 때문에 잘못된 내용이 있을 수 있습니다. 혹시나 틀린 부분이 있다면 댓글로 알려주세요!

 

 

인터넷은 컴퓨터끼리 연결된 거대한 인프라고, 웹은 이러한 인프라 위에 구축된 하나의 서비스다.

 

인터넷

컴퓨터가 서로 통신을 하기 위해서는 물리적으로든, 무선으로든 서로 연결되어 있어야 한다. 컴퓨터끼리 연결된 하나의 집합체를 '네트워크'라고 부른다. 네트워크를 구성하는 가장 단순한 방법은 아래 왼쪽 그림과 같이 직접 연결하는 것이다. 그러나 이런 방식은 컴퓨터가 10대만 되어도 45개의 케이블이 필요하며, 컴퓨터 한대당 9개의 플러그가 필요하다. 

 

단순한 네트워크

 

이러한 문제점을 해결하기 위해 네트워크마다 컴퓨터끼리의 '연결'만을 담당하는 특별한 컴퓨터가 등장하는데, 이를 '라우터(Router)'라고 부른다. 라우터의 역할은 컴퓨터끼리의 연결이기 때문에, 컴퓨터A와 컴퓨터B가 통신을 하기 위해서는 라우터를 거쳐야 한다. 

 

라우터의 등장

 

라우터 또한 컴퓨터이기 때문에 다른 라우터와 연결할 수 있다. 여러대의 컴퓨터를 라우터로 연결해 하나의 네트워크를 만들고, 라우터를 또 다른 라우터와 연결하면 이론상 네트워크의 확장 가능성은 무한하다. 참고로 우리에게 친숙한 '공유기'도 라우터에 속한다.

 

라우터끼리 연결

 

네트워크의 가장 기본은 '연결'이다. 그렇다면 가정집의 네트워크는 어떻게 외부와 연결될까? 결론부터 말하면 가정집에서는 모뎀을 통해 외부 네트워크와 연결하고, 모뎀을 공유기와 연결하면 집에서 인터넷을 사용할 수 있다. 

 

 

일반적인 홈 네트워크의 설정은 아래와 같다고 한다. (출처 링크)

 

 

1. 인터넷 서비스 제공자(ISP)를 벽걸이형 케이블 포트 또는 소켓에 연결한다.

2. 모뎀을 벽걸이형 케이블 포트 또는 소켓에 연결해서 인터넷 연결을 얻는다.

3. 라우터를 모뎀과 연결해서 홈 또는 로컬 WiFi 네트워크를 만든다.

4. 데스크탑, 노트북, 태블릿, 프린터, 전화 등을 인터넷 라우터에 연결한다. 

 

 

ISP(Internet Service Provider)란 라우터간 연결을 담당하는 특수 라우터를 말한다. 즉, 다른 네트워크와 통신을 할 수 있게 하는 역할이다. ISP는 또 ISP끼리 연결된다. 

 

한편, 컴퓨터끼리 서로 통신하기 위해서는 서로를 인식할 수 있어야 하는데, 컴퓨터끼리 인식하기 위해 사용하는 특수 번호를 'IP주소'라고 부른다. 그런데 IP주소는 컴퓨터 친화적이라서 이를 사람이 알아보기 쉽게 별칭을 붙이는 경우가 많다. IP주소의 별칭을 '도메인'이라고 한다. 우리가 구글에 접속하기 위해 'www.google.com'을 치면 이는 구글의 IP주소를 입력한 것과 똑같은 것이다. 

 

정리하자면 결국 인터넷은 수십억 대의 컴퓨터를 모두 연결할 수 있는 거대한 '인프라'를 말한다. 같은 의미지만 약간 다르게 말하면 인터넷은 전 세계 컴퓨터들을 하나로 연결하는 거대한 컴퓨터 통신망이다. 우리가 흔히 말하는 웹은 인터넷 위에 구축된 서비스중 하나에 불과하다. 이메일과 IRC도 인터넷 상의 서비스에 속한다. 

 

웹은 인터넷에 연결된 사용자들이 서로의 정보를 공유할 수 있는 공간을 의미한다. 크게 클라이언트서버로 구성된다. 

 

  • 클라이언트는 서비스 사용 주체를 말한다. 컴퓨터, 태블릿, 모바일, 브라우저가 모두 클라이언트에 해당한다.
  • 서버는 웹페이지, 사이트, 또는 앱을 저장하는 컴퓨터다. 클라이언트의 장비가 웹페이지에 접근하면 서버에 요청이 가게 되고, 서버로부터 웹페이지의 사본이 다운로드 된다.

 

 

브라우저에 웹 주소를 입력하면 발생하는 일들

 

  1. 브라우저는 DNS 서버에서 해당 도메인 네임에 해당하는 IP 주소를 찾아 사용자가 입력한 URL 정보와 함께 전달한다.
  2. 브라우저는 서버에게 웹사이트의 사본을 클라이언트에게 보내달라는 HTTP 요청 메세지를 서버로 전송한다. 클라이언트와 서버 사이에 전송된 모든 데이터는 TCP/IP 연결을 통해서 전송된다.
  3. 이 메세지를 받은 서버는 클라이언트의 요청을 승인하고, "200 OK" 메세지를 클라이언트에게 전송한다. 그 다음 서버는 웹사이트의 파일들을 데이터 패킷이라 불리는 작은 일련의 덩어리들로 브라우저에 전송하기 시작한다.
  4. 브라우저는 패킷들을 완전한 웹 페이지로 조립하고, 컨텐츠를 화면에 출력하여 사용자가 볼 수 있게 된다. 
왜 데이터를 패킷으로 쪼개서 보낼까?

1. 여러 라우터로 보내면 더 빠르다
2. 문제가 생겨도 크기가 작기 때문에 해결하기 쉽다
3. 크키가 작아 부담이 적기 때문에 더 많은 유저에게 전송할 수 있다.

 

 

 

브라우저의 파일 파싱 순서

 

  1. HTML 파일을 파싱하면서 <link>, <script> 태그가 있는지 확인한다.
  2. <link> 에 참조된 css 파일 또는 <script> 에 참조된 js 파일이 있으면 서버에 다시 요청을 보내고, 이들을 받아서 파싱한다.
  3. HTML 파싱 결과로부터 in-memory 돔트리를 생성하고, CSS 파싱 결과로부터 CSSOM 구조를 생성하고, 파싱한 자바스크립트 파일을 컴파일 및 실행시킨다.
  4. 내용물을 화면에 출력한다.

 

 

 

<출처>

https://developer.mozilla.org/en-US/docs/Learn/Common_questions/How_does_the_Internet_work 

https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/How_the_Web_works

http://www.tcpschool.com/webbasic/intro

 

 

반응형

'WEB' 카테고리의 다른 글

[ Web ] 브라우저의 렌더링 과정  (0) 2022.08.21
[ WEB ] XML이란  (0) 2022.08.02