[HTTP] 인터넷 통신에 대하여

[HTTP] 인터넷 통신에 대하여

중학생때, 한창 영어 배우는 것에 호기심을 가지던 시절

영국인 중학생과 이메일 펜팔을 했던 것이 생각난다.

물론 내용은 "난 오늘 학교 다녀왔어. 그리고 저녁은 ~을 먹었어. 너는 무엇을 했니?" 뭐 이런 내용이었지만 ㅎㅎ

이런 사사로운 이야기 마저 굉장히 설레였던게 생각난다.

내가 지구 반대편에 있는 사람과 이렇게 일상적인 이야기를 주고 받을 수 있다니!!

저 멀리 있는 영국인 중학생과 나는 어떻게 이메일을 주고 받을 수 있었을까?

인터넷에서 컴퓨터 둘은 어떻게 통신을 하며 텍스트를 주고 받을 수 있는가?

1. 인터넷이 통신하는 방법

자, 일단 간단하게 먼저, 두 개의 컴퓨터가 통신한다고 생각해보자.

여러분이 생각하실 때에는 두 대의 컴퓨터가 서로 어떠한 정보를 주고 받기 위해서 무엇이 필요하다고 생각하는가?

1. 물리적으로 연결한다. (이더넷 케이블)

2. 무선으로 연결한다. (wifi, bluetooth)

그런데, 우리는 딱 한대의 컴퓨터만 연결해서 사용하지 않는다.

중학생 시절의 나는 영국에 사는 친구, 남아공에 사는 친구, 호주에 사는 친구와도 이메일을 주고 받을 수 있을 것이다.

어떻게 그게 가능할까?

네트워크는 단지 두 대의 컴퓨터로 제한되지 않기 때문이다.

우리가 원하는 만큼의 컴퓨터를 연결할 수 있다. 그러나 그럴 경우, 엄청나게 많은 케이블이 필요할 것이다.

이러한 문제를 해결하기 위해 네트워크의 각 컴퓨터는 라우터라고 하는 특수한 소형 컴퓨터에 연결된다.

출처 : mdn 인터넷은 어떻게 동작하는가?

자, 이런 그림이 되는 것이다. 우리는 이 라우터를 이용해 총 10대의 컴퓨터와 각 각 통신을 할 수 있게 되었다.

그렇다면 만약 수백, 수천, 수십억 대의 컴퓨터를 연결하면 어떻게 될까?

내가 아프리카 세네갈의 한 프랑스 언어교육원 홈페이지(https://ifs.sn/#/)에 들어가고 싶을 수도 있고,

미국의 아마존 사이트(https://www.amazon.com/)에 들어가 해외물품을 구입하고 싶을 수도 있다.

바로 라우터에 라우터를 연결하고- 이런식으로 우리는 무한히 확장 할 수 있다.

출처 : mdn 인터넷은 어떻게 동작하는가?

이러한 네트워크를 우리는 우리의 친구, 이웃에 연결할 수는 있어도 아주 먼 다른 지역에 케이블을 연결할 수는 없다.

이 문제를 해결하기 위해 네트워크는 이미 잘 갖추어진 전화 시설에 연결된다.

우리는 이 네트워크를 인터넷 서비스 제공업체(Internet Service Provider, ISP)에 연결한다.

즉, 우리의 메시지는 ISP 네트워크의 네트워크를 통해 우리가 도달하고자 하는 대상 네트워크로 전달 이 된다!

이러한 지역 네트워크에 연결된 컴퓨터와 그 안에 속한 장비들을 통틀어 하나의 ' 노드 '라고 칭한다.

자, 그럼 다시 돌아와서 중학생 시절의 내가 보냈던 이메일은 어떻게 영국에 있는 친구의 메일 계정이 저장된 서버 컴퓨터에 도달해 내 텍스트를 전달할 수 있었을까?

저 수많은 노드들 중에서 어떻게 특정 서버 컴퓨터를 찾아낼 수 있었을까?

2. IP주소

바로 IP 주소를 이용해서이다.

저 맥북, 아이패드 모두 각각 고유한 IP 주소를 가지고 있다.

인터넷이 연결된 모든 기기에는 각각 고유의 IP 주소가 부여된다.

각 기기가 서로 통신을 주고 받을 때에도 이 IP주소를 이용하는 것이다.

출처: 강의 '모든 개발자를 위한 HTTP 웹 기본지식' (김영한) 인프런

이런식으로 각 IP주소를 이용해 대상자를 찾아 전달을 해주는데,

컴퓨터가 서로 통신하기 위해서는 어떤 '규약, 규정'이 있어야 하지 않겠는가?

그것이 바로 'Protocol'이며 HTTP는 문서간에 링크를 통해 연결할 수 있는 html을 전송하는 규약, 규칙 을 뜻하는

HyperText Transfer Protocol 이다.

출처 :

'모든 개발자를 위한 HTTP 웹 기본 지식' -김영한 (인프런강의)

(https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard)

인터넷은 어떻게 동작하는가? - mdn (https://developer.mozilla.org/ko/docs/Learn/Common_questions/How_does_the_Internet_work)

from http://dream-frontend.tistory.com/427 by ccl(A) rewrite - 2021-09-25 23:00:26