[Web]인터넷의 기본 개념과 WEB

김희윤·2023년 3월 26일
0

인터넷은 무엇이며, 어떻게 동작하는 것일까?

인터넷의 기본 개념은 서로 다른 컴퓨터간의 통신 네트워크 입니다. 만약 2대의 컴퓨터가 존재할 때, 두 컴퓨터가 정보를 교환하기 위해서는 유(케이블)/무선(wifi,bluetooth)으로 연결되어야 한다. 이렇게 서로 연결되어야 하는 컴퓨터의 개수가 적을 때에는 직접적으로 연결하는 것이 간단하지만 만약 컴퓨터가 10대가 존재하고, 각각의 컴퓨터가 서로 연결해야 하는 경우에는 어떨까?

각각의 컴퓨터는 서로 다른 10개의 컴퓨터와 직접 연결되어야 하는 복잡한 상황이 연출된다. 위와 같은 상황을 해결하기 위해 라우터 개념이 등장했다.

라우터

라우터는 공항 허브의 개념과 동일하다. 각각의 10개의 컴퓨터를 모두 하나의 라우터와 연결하며, 컴퓨터 A에서 D로 보내야 하는 정보를 컴퓨터 A로부터 받아 D로 보내준다. 즉 아래와 같은 모습이 연출된다.

여러 대의 컴퓨터가 라우터를 중심으로 연결되어 하나의 연결망(네트워크)를 만들고, 이러한 네트워크가 또 여러개 모여 거대한 연결망을 만든다. 우리는 여기서 말하는 일종의 거대한 규모를 가진 연결망(네트워크)을 인터넷이라고 부른다.

모뎀

수십억대의 컴퓨터가 연결되면서 인터넷 내에 존재하는 컴퓨터간, 라우터간의 물리적 거리도 그만큼 멀어지기도 한다. 무선으로 서로 연결이 불가능한 물리적 거리와 새로운 케이블을 깔기에는 시간과 비용이 너무 많이 든다는 문제를 해결하기 위해 이미 전세계에 널리 깔려있는 전화선 을 활용하기로 했다. 인터넷을 전화기 시설과 연결하는 장치를 모뎀이라고 부르며, 모뎀은 인터넷의 정보를 전화시설이 처리할 수 있는 정보의 형태로 변환하며, 그 역과정을 수행한다.

ISP

ISP는 intenet service provider의 약자로 SK boradband와 같은 인터넷 서비스 제공업체이며 인터넷 내의 네트워크 간의 연결을 가능하게 한다. 위에서 설명하였듯이 전화 설비 시설을 사용하기도 하지만 자체적인 고속 전용 회선을 갖추어 제공하기도 서비스를 제공하기도 한다.

다른 컴퓨터에게 정보 보내기

다른 컴퓨터로 정보를 보내기 위해서는 우리가 우편을 보낼 때 상대 집의 주소를 알아야 하는 것처럼 해당 컴퓨터의 인터넷 상의 주소를 알아야 한다. 인터넷 상의 주소를 IP주소라고 부르는데, 192.168.2.10와 같은 형식을 취한다. 컴퓨터에게는 이러한 주소 형태에 불만이 없지만,인간의 관점에서 위와 같이 여러개의 불규칙적인 숫자로 컴퓨터의 주소를 기억하기 어렵기 때문에 별명을 지어주었다. 도메인 이름은 IP주소에 대한 별명이라고 생각하면 된다. www.google.com은 구글의 도메인 이름(주소)이다.

비유를 해보자면 변수의 메모리상 주소변수명의 관계라고 생각할 수 있다.

인터넷과 WEB의 관계

월드 와이드 웹(World Wide Web)이란 인터넷에 연결된 사용자들이 서로의 정보를 공유할 수 있는 공간이다.

간단히 줄여서 WWW나 W3라고도 부르며, 간단히 웹(Web)이라고 가장 많이 부른다.

WWW = Web

웹은 인터넷 상에서 문서를 공유하는 공간으로 볼 수 있으며, 웹에서 공유되는 문서중에는 하이퍼텍스트(초월문서) 가 존재한다. 하이퍼 텍스트는 하이퍼링크 를 포함하고 있는 문서를 말하며, 하이퍼 링크는 문서의 주소이다. 따라서 웹에서 하나의 하이퍼텍스트에서 다른 하이퍼텍스를 확인할 수 있다.

하이퍼텍스트를 웹 페이지라고 부르며, 웹 페이지들이 모인 것을 웹 사이트라고 부른다.

우리는 웹 브라우저에 도메인 주소를 입력해 웹 사이트에 접속한다. 그것이 웹과 인터넷이 동일하다고 말하는 것은 아니다. 인터넷은 일종의 인프라이며, 웹은 인터넷이라는 인프라위에 구축된 하나의 서비스이다. 웹은 인터넷을 활용한 여러 서비스 가운데 하나이며, 이메일도 인터넷을 이용한 서비스의 예라고 볼 수 있다. 우리는 웹브라우저에서 도메인 주소를 입력해 웹 사이트에 방문할 수 있고, 이러한 상호작용은 웹 서버 라는 곳에서 관리한다.

전송 : 도메인 주소 입력
응답 : 웹 사이트의 페이지

의 관계가 존재한다면, 웹 서버는 웹 브라우저로부터 전송을 받아, 웹 브라우저에게 응답을 내놓는다.

어쨋든 인터넷은 웹을 기반으로 만들어진 여러 서비스 가운데 하나이다.

웹의 동작 방식

클라이언트와 서버

웹 서비스를 이용하는 인터넷 내의 두 컴퓨터를 웹 클라이언트(이하 클라이언트) 와 웹 서버(이하 서버) 로 나눌 수 있다. 클라이언트는 특정 웹페이지에 접속하고자 하는 방문자로, 우리는 보통 웹 브라우저(ex-크롬)를 이용해 웹 페이지에 접속하는데, 이때 크롬(웹 브라우저)를 클라이언트로 볼 수 있다. 다른 관점은 웹 페이지에 접속하고자 하는 사람이 이용하는 컴퓨터를 클라이언트로 보기도 한다.

클라이언트의 종류로는 웹 브라우저 뿐 아니라 웹 크롤러, 장애인을 위한 서비스 등이 있지만 대부분의 사람들은 웹 브라우저를 이용하기 때문에 이제부터 내가 언급하는 클라이언트는 웹 브라우저로 생각하면 된다.

서버는 웹 페이지를 저장하는 컴퓨터로, 클라이언트가 서버에게 웹 페이지를 방문하고 싶다고 요청하면, 서버는 이에 응답해 웹 페이지 정보를 보내준다. 그러면 클라이언트는 사용자에게 받은 웹 페이지 정보를 시각화해주는 것이다. 웹 페이지 정보는 HTML,CSS,JavaScript의 코드로 구성되어있다.

구체적인 절차

human A는 클라이언트 서비스 중 하나인 크롬에 도메인 주소를 입력한다. 그럼 클라이언트는 DNS(Domain Name System Servers (도메인 이름 시스템 서버))에 도메인 주소를 보내어 도메인 주소에 해당하는 IP주소를 응답받는다.

  • DNS를 일종의 연락처 앱이라고 생각하면 된다. 송하영 의 이름을 연락처에 검색하면 송하영의 전화번호 를 알 수 있는 것과 같다.

방문하고자 하는 페이지의 IP 주소를 알게 된 브라우저는 해당 IP주소(서버)로 웹 페이지 정보를 보내달라는 요청서를 작성하여 전송한다. 여기서 요청서를 작성하는 방법을 규정한 것을 HTTP 라 하며, 요청서를 IP주소로 보내는 방법을 규정한 것을 TCP/IP 라고 볼 수 있다.

  • Hypertext Transfer Protocol (하이퍼텍스트 전송 규약)
  • Transmission Control Protocol (전송 제어 규약)
  • Internet Protocol (인터넷 규약)

서버는 요청서를 확인하고 이를 승락하면 클라이언트에게 웹 페이지 정보로 응답한다. 클라이언트는 받은 웹 페이지 정보를 시각화하여 사람에게 보여준다.

URL/URI

URI 는 Uniform Resource Identifier, 통합 자원 식별자의 줄임말로, Web에 존재하는 데이터(웹 자원)의 주소라고 볼 수 있다. 웹 자원의 대표적인 예는 웹 페이지이므로, URI는 간단하게 말해서 웹 페이지의 주소라고 볼 수 있다. URI에는 여러 종류가 있다는 말은 곧 웹 자원의 주소를 표현하는 방법에는 여러가지가 존재한다는 말이다.

URL 은 URI의 종류 중 하나로, 웹 자원의 주소를 표현하는 방법 중 하나라고 볼 수 있다. URL의 규칙 중 하나는 반드시 통신규약(프로토콜)을 명시해야 한다는 점이다. 예를 들어 http 통신 규약을 이용한다고 가정 할 경우 다음과 같이 작성해야 한다.

[https://google.com](https://google.com) 이것은 URL이고, 따라서 URI이다.

그러나

[google.com](https://google.com) 은 URL이 아니다. 프로토콜을 명시하지 않았기 때문이다. 그러나 이렇게 작성해도 우리는 구글 사이트에 접속할 수 있다. 웹 자원의 식별자의 역할을 하기 때문에 URI라고 할 수 있다.

URL이외에 URN 또한 URI의 종류이다.

HTTP/HTTPS

HTTP

위에서 이미 언급했지만 http는 Hyper Text Transfer Protocol로, 인터넷에서 하이퍼텍스트를 주고받을 때 지켜야 하는 규칙이다. 클라이언트가 서버에게 어떤 웹 페이지(이미 언급했지만 웹 페이지는 곧 하이퍼텍스트이다)를 보내달라고 작성하는 요청서와, 해당 요청에 대한 응답서를 작성하는 규칙이 http이다. http는 TCP/IP 위에서 작동한다.

하지만 HTTP는 암호화가 되지 않은 평문 데이터를 전송하는 프로토콜이였기 때문에, HTTP로 비밀번호나 주민등록번호 등을 주고 받으면 제3자가 정보를 조회할 수 있었다. 이러한 문제를 해결하기 위해 HTTPS가 등장하게 되었다.

HTTPS

HTTPS는 HTTP에 데이터 암호화가 추가된 프로토콜이다. HTTPS는 HTTP와 다르게 네트워크 상에서 중간에 제3자가 정보를 볼 수 없도록 암호화를 지원하고 있다.

아래 사진을 보면 차이를 직관적으로 이해할 수 있다.

profile
탑 개발자를 향해 오늘도 정진한다.

0개의 댓글