-
인터넷: HTTP와 HTML
-
저는 자스마인이고 XBOX One 엔지니어링 팀의
프로그램 매니저입니다.
-
우리의 가장 큰 특징 중 하나는
XBOX 라이브입니다. 전 세계 게이머들을 연결하는
-
온라인 서비스이고, 우리는 인터넷에 의존하여
이 서비스를 제공합니다.
-
이 일은 쉽지 않으며 보이는 곳 뒤에서 여러 가지
많은 일들이 벌어지지요.
-
인터넷은 사람들이 서로를 대하고 관계를 맷는 방식을
완전히 바꾸고 있어요. 하지만 어떻게 그렇게 할까요?
-
전 세계 컴퓨터가 실제로 어떻게
서로 커뮤니케이션할까요? 함께 웹 브라우징을 살펴봐요.
-
먼저, 웹 브라우저를 엽니다. 이것은 웹 페이지에 들어가기
위해 이용하는 앱입니다. 다음으로,
-
웹 주소 또는 URL을 입력합니다. URL은 방문하고자 하는
웹사이트의 위치 지정자로
-
예를 들면 tumblr.com과 같습니다. 안녕하세요, 저는
데이비드 카프이고 Tumblr의 창립자입니다.
-
오늘 우리는 여기서 우리가 매일 사용하는 웹 브라우저가
실제 어떻게 작동하는지 이야기할 거예요. 여러분은
-
아마도 주소를 웹 브라우저에 타이핑하고 엔터 키를
누를 때 실제로 어떤 일이 일어나는지 궁금했을거예요.
-
그리고 그것은 정말로 상상할 수 없을 만큼
말도 안돼요. 그 순간 여러분의
-
컴퓨터는 서버라 불리고, 대개 수 천 마일 떨어져 있는
다른 컴퓨터에게 말하기 시작합니다.
-
그리고, 밀리초 안에, 여러분의 컴퓨터는
서버에게 웹사이트를 찾아달라고 요청하고, 그 서버는
-
HTTP라 부르는 언어로 여러분의 컴퓨터에 대답하기
시작합니다. HTTP는 하이퍼텍스트
-
전송 프로토콜을의미합니다. 이것을 일종의 컴퓨터가
다른 컴퓨터에게 문서를 요청할 때 사용하는
-
언어라고 생각할 수 있습니다. 그리고
이것은 실제로 매우 간단합니다.
-
만약 여러분이 여러분의 컴퓨터와 웹 서버간의
인터넷 상의 대화에 끼여들려고 하면,
-
이것은 주로 "GET" 요청이라 부르는 뭔가로
구성됩니다. 그것들은 정말로 매우
-
간단한 단어 GET이고, 여러분이 요청하고 있는
문서의 이름입니다. 그래서,
-
Tumblr에 로그인하여 우리의 로그인 페이지를
로딩하려고 하면, 해야 할 일은 GET 요청을 Tumblr의 서버에
-
보내는 것입니다. 그 서버는 GET/login이라
말합니다. 그리고 그것은 Tumblr의 서버에게 여러분이
-
Tumblr 로그인 페이지용 HTML 코드 모두를 원한다고
말합니다. HTML은 하이퍼텍스트 마크업 언어이며
-
웹 브라우저에게 페이지가 어떻게 보여야 하는지 말하기
위해 사용하는 언어라고 생각하면 됩니다.
-
정말 큰 간단한 문서인 Wikipedia와 같은
뭔가를 생각하고 있다면,
-
그리고 HTML은 다음과 같이 할 때 사용하는 언어입니다.
타이틀을 크고 굵은 체로 만들고, 폰트를
-
알맞는 폰트로 만들고, 어떤 텍스트를 어떤 다른 페이지에
링크하고, 일부 텍스트를 굵은 체로 만들고, 일부
-
텍스트를 이탤릭체로 만들고, 이미지를 페이지의
중간에 넣고, 그 이미지를 우측에 맞춰 정렬시키고,
-
그 이미지를 좌측에 맞춰 정렬시킬 때. 웹 페이지의
텍스트는 HTML 안에 들어 있지만,
-
이미지 또는 동영상과 같은 다른 부분은 요청받을 때
필요한 고유 URL을 갖는 별개의 파일입니다.
-
브라우저는 이것들 각각에 대한 별개의
HTTP 요청을 전송하고 그것들이
-
도착하면 표시합니다. 어느 한 웹 페이지에
많은 서로 다른 이미지가 들어 있으면, 그것들 각각은
-
별개의 HTTP 요청을 하게 하여 페이지가 더 느리게
로딩됩니다. 이제 가끔씩, 웹을 검색할 때,
-
GET 요청으로 페이지 요청만 하지 않습니다.
종종 양식 작성 시기 또는 검색 쿼리 타이핑 시기
-
등과 같은 정보를 보냅니다. 브라우저는
이 정보를 평문으로 웹 서버에게
-
HTTP POST 요청을 사용하여 전송합니다.
여러분이 Tumblr에 로그인한다고 합시다. 해야 할
-
첫 번째 일은 POST 요청을 만드는 것이며, 그것은
데이터가 첨부된, Tumblr 로그인 페이지의 POST입니다.
-
이것은 여러분의 이메일 주소를 가지고 있고,
또한 비밀번호도 가지고 있습니다. 그것은
-
Tumblr의 서버로 갑니다. Tumblr의 서버는
괜찮은지, 여러분이 David인지 알아냅니다. 웹 페이지를
-
다시 여러분의 브라우저로 보내고 '성공! David로 로그인'
이라고 말합니다. 하지만, 그 웹 페이지와 함께,
-
그것은 또한 여러분의 브라우저가 보고 저장하기 위해
조그맣고 보이지 않는 쿠키 데이터를 부착합니다.
-
웹사이트가 여러분이 누군인지 기억할 수 있는
유일한 방법이기 이것은 정말 중요합니다.
-
쿠키 데이터는 Tumblr용 ID 카드와 같습니다.
그것은 귀하를
-
David로 식별하는 번호입니다. 웹 브라우저는
그 번호를 갖고 있으며 여러분이 다음에
-
Tumblr를 새로고침하고, 다음에 Tumblr.com에 오면,
웹 브라우저는 자동으로 알고,
-
그 ID 번호를 Tumblr 서버로 보낼 요청과
함께 부착합니다. 그래서 지금,
-
Tumblr의 서버는 요청이 여러분의 브라우저에 왔음을 알고
ID 번호를 보고,
-
"Ok, 이 요청은 David의 요청"이라고 압니다.
이제, 인터넷은 완전히 열려 있습니다.
-
연결점 모두가 서로 공유하고 정보를
평문으로 전송합니다.
-
인터넷을 통해 전송된 개인 정보를 해커가
몰래 볼 수 있습니다. 하지만 안전한
-
웹사이트는 이를 방지합니다. 웹 브라우저에게
안전한 채널에서 커뮤니케이션하라고 요청합니다.
-
안전한 채널은 전송계층보안 (TLS)의 후신인
보안소켓계층 (SSL)을 사용합니다.
-
SSL과 TLS를 몰래 훔쳐보기 또는 무단 변경을
방지하기 위한 통신라인을 감고 있는
-
보안층이라고 생각할 수 있습니다.
SSL과 TLS는 HTTPS 옆
-
브라우저 주소창 안에 작은 자물쇠가 나오면
활성화됩니다. HTTPS 프로토콜은
-
HTTP 요청이 안전하고 보호되고 있음을
보장합니다. 웹사이트가 브라우저에게
-
안전한 연결상태에서 작업하라고 요청할 때,
이것은 먼저 디지털 인증을 제공합니다.
-
그 인증은 요청된 웹사이트임을 입증하는 공식 ID 카드와
같은 것입니다. 디지털 인증은
-
인증기관에서 발행합니다. 인증기관은 웹사이트의
신원을 검증하고 인증서를 발급하는
-
공신력 있는 기관입니다. 정부가
신분증 또는 여권을 발급하는 것과 같습니다.
-
이제, 웹사이트가 적절하게 발급된 디지털
인증없이 연결을 시작하려고 하면,
-
브라우저는 경고를 할 것입니다.
그것은 웹 브라우징의 기본입니다.
-
우리가 일상에서 보는 인터넷의 일부입니다.
요약하면, HTTP와 DNS는
-
HTML 또는 미디어 파일, 웹 상의 모든 것의
전송 및 수신을 관리합니다. 후드 하에서
-
이것을 가능하게 만드는 것은 정보를 작은
패킷으로 쪼개 운송하는 TCP/IP와 라우터
-
네트워크입니다. 패킷 자체는 이진법,
1과 0의 시퀸스로 구성되어
-
물리적으로 전기선 및 광섬유 케이블, 무선망
을 통해 전송됩니다.
-
다행히, 일단 인터넷의 한 층이 어떻게 작동
하는지 배우면, 모든 세부사항을
-
기억하지 않더라도 그것에 의존할 수
있습니다. 우리는 그러한 층 모두가 함께
-
작용하여 정보를 확장성과 신뢰성을 갖고
성공적으로 전달할 것이라 믿습니다.