Skip to content

Latest commit

 

History

History
executable file
·
53 lines (27 loc) · 4.85 KB

README.md

File metadata and controls

executable file
·
53 lines (27 loc) · 4.85 KB

인터넷은 어떻게 작동할까요

이번 장은 Jessica McKellar의 "How the internet works" 에서 영감을 받아 작성되었습니다. (http://web.mit.edu/jesstess/www/)

우리는 매일 인터넷을 사용하고 있어요. 하지만 브라우저 주소창에 http://djangogirls.org 를 입력하고 엔터키를 누르면 어떤 일이 일어나는지 혹시 알고 있었나요?

먼저 알아야 할 것은 웹사이트란 하드 디스크에 저장된 파일묶음이라는 거에요. 동영상, 음악, 사진 파일처럼요. 웹사이트가 다른 파일과 다른 점은 HTML이라는 컴퓨터 코드가 들어있다는 것이에요.

만약 프로그래밍에 익숙하지 않다면, HTML을 이해하는 게 어려울 수도 있어요. 하지만 브라우저들(크롬, 사파리, 파이어폭스 같은 것들요) 은 HTML을 사랑한답니다. 웹 프라우저는 코드를 이해하고 지시에 따르고, 내가 원하는 방식으로 정확하게 구현될 수 있도록 설계되었어요.

다른 파일처럼 HTML 파일도 하드 디스크 어딘가에 저장해야합니다. 인터넷에선 서버 라는 특별하고 강력한 컴퓨터를 사용해요. 데이터를 저장하고 제공하는 것이 주된 목적이기 때문에 모니터나 마우스, 키보드가 필요없지요. 데이터를 제공(serve) 하는 일을 하기 때문에 서버(server) 라고 부릅니다.

그래요, 하지만 인터넷이 어떻게 생겼는지 궁금하지 않나요?

그림을 그려봤습니다. 이렇게 생겼어요. :

그림 1.1

조금 지저분해 보이죠? 사실 인터넷은 수 많은 기계들이 연결된(앞서 얘기한 서버 라는) 의 하나의 네트워크랍니다. 수백, 수천 대의 기계들이요! 긴, 아주 긴 케이블들이 지구 전체를 둘러싸고 있답니다! 해저 케이블 지도 사이트 (http://submarinecablemap.com/)에 가보면 케이블이 얼마나 복잡하게 연결되어있는지 알 수 있어요. 아래 사진은 웹사이트에서 가져온 스크린 샷입니다.

그림 1.2

멋지지 않나요? 그러나 인터넷에 연결되어 있는 모든 기계들을 전부 연결하는 것은 불가능한 일입니다. 그래서 어떤 기계(예를 들어 http://djangogirls.org 이 저장되어 있는 것 같은)에 도달하기 위해서는 수없이 많은 다른 기계들을 통과해야 한답니다.

그림으로 보면 다음과 같습니다.

그림 1.3

주소창에 http://djangogirls.org 을 입력하는 건, "사랑하는 장고 걸즈 여러분, 저는 장고걸즈 웹사이트를 보고 싶어요. 저에게 그 웹 사이트를 보여주세요!"라고 편지를 써서 보내는 것과 같아요.

이 편지는 나와 가장 가까이에 있는 동네 우체국으로 갑니다. 받을 사람에게 가까운 다른 우체국으로, 다른 우체국으로 전달되면서 주소지에 최종 도착하게 됩니다. 특이한 점은 같은 장소에서 많은 양의 편지(데이터 패킷을 보내면, 각기 다른 우체국(라우터) 을 통해 전달됩니다. 또 우체국마다 배포되는 방법이 다르지요.

그림 1.4

맞아요, 간단해요. 메시지를 보내고 답장을 기다리는 거죠. 물론 종이랑 펜 대신 몇 바이트의 데이터를 사용하는 것이지만, 기본 개념은 같답니다!

그리고 도로명과 도시이름, 우편번호를 쓰는 대신 IP주소라는 것을 써야해요. 컴퓨터는 먼저 DNS(도메인 주소 시스템)에게 djangogirls.org 의 IP주소가 무엇인지 물어봅니다. 전화주소록에서 연락하고 싶은 대상의 이름을 찾아 전화번호와 주소를 찾아내는 방법과 비슷하지요.

편지를 보낼 때는 몇가지 규칙을 지켜야 제대로 배달되어요. 주소가 적혀있어야 하고, 우표가 있어야 해요. 수령인이 이해할 수 있는 언어로 적혀져야하구요. 그렇죠? 이처럼 데이터 패킷에도 동일하게 적용되어야 웹사이트를 볼 수 있습니다. 우리는 HTTP (하이퍼텍스트 전송 프로토콜) 라는 프로토콜을 사용합니다.

따라서 기본적으로 웹사이트를 만들려면 그 웹사이트가 동작할 서버 (기계) 가 필요해요. 서버에서 요청(편지) 을 받으면, 다시 웹사이트(다른 편지) 로 되돌려줍니다.

장고 튜토리얼을 시작할 때부터, 장고가 무슨 일을 하는지 궁금하셨죠? 여러분이 답장을 보낼 때, 모든 사람에게 항상 동일한 내용을 보내고 싶지 않을 거에요. 받는 사람에 따라 각각 다른 답장을 보내면 더 좋지 않을까요? 이와 같이 장고는 맞춤형 편지를 보낼 수 있도록 도와준답니다. :)

이제 수다는 그만하고, 정말 뭔가 만들어 보자구요!