-
Интернет: HTTP и HTML
-
Я Жасмин Лоуренс, и я руководитель группы проектов
команды разработчиков XBox One.
-
Один из наших крупнейших проектов — XBox Live. Это
онлайн-сервис, который соединяет
-
геймеров со всего мира, и делает это возможным
интернет. Это непростая задача, и существует много
-
процессов, происходящих "за кулисами".
-
Интернет полностью изменил то, как люди связываются
и взаимодействуют. Но как же все это работает?
-
Как компьютеры во всем мире общаются между собой?
Вот например просмотр веб-страниц.
-
Сначала вы открываете веб-браузер, приложение,
которое открывает доступ к веб-страницам.
-
Далее вы вводите веб-адрес или URL (Унифицированный
локатор ресурсов) веб-сайта,
-
который вы хотите посетить, например Tumblr.com.
-
Здравствуйте! Я Дэвид Карп, основатель Tumblr и
сегодня
-
мы поговорим, как работают веб-браузеры, которыми
мы пользуемся в каждодневной работе. Вы, скорей всего,
-
задумывались о том, что же происходит, когда вы
набираете адрес в браузере
-
и нажимаете "Ввод". И это так же невероятно, как вы
себе представляете. В этот момент ваш компьютер
-
начинает общаться с другим компьютером, который
называется сервером, — как правило, за
-
тысячи миль. И через миллисекунды ваш компьютер
запрашивает этот сервер о веб-сайте, и сервер
-
начинает общаться с вашим компьютером на языке HTTP.
HTTP — это
-
"Протокол передачи гипертекстовых данных". Это как
язык, который использует один компьютер,
-
чтобы спросить некий документ. Это вообще
очень просто. Если бы вы перехватили
-
разговор между вашим компьютером и веб-сервером в
интернете, он, главным образом,
-
состоял бы из запросов "получить". Это просто слово
"получить" и название документа, который вы
-
запрашиваете. Итак, если вы пытаетесь войти в Tumblr
и загрузить себе нашу страницу авторизации,
-
все, что вы делаете, — это отправляете запрос "получить"
на сервер Tumblr, который выглядит как "GET /login".
-
Это сообщает серверу Tumblr, что вам
нужен весь HTML-код для страницы
-
авторизации Tumblr. HTML означает
"язык гипертекстовой разметки",
-
и его можно считать языком, на котором вы говорите
веб-браузеру, как должна выглядеть страница.
-
Вы, наверняка, подумали о чем-то вроде Википедии,
которая, по сути, является обычным большим документом.
-
HTML — это язык, которой используется,
-
чтобы сделать заголовки
большими и жирными, выбрать шрифт,
-
привязать определенный текст к определенным страницам,
сделать какой-то текст жирным, какой-то —
-
выделить курсивом. Поставить изображение в середине
страницы, выровнять изображение
-
влево или вправо. Текст веб-страницы включен
непосредственно в HTML, но другие
-
части, например изображения или видео — это отдельные
файлы с собственными URL-адресами, которые
-
запрашиваются отдельно. Браузер посылает отдельные
HTTP-запросы для каждого из них
-
и отражает их по мере поступления. Если веб-страница
имеет много изображений, на каждый
-
будет отдельный запрос HTTP, и страница будет
загружаться медленнее. Иногда, когда вы
-
работаете в интернете, вы не просто запрашиваете
страницы, используя GET. Иногда вы отправляете
-
информацию, например при заполнении формы или вводя
поисковой запрос. Ваш браузер посылает
-
эту информацию веб-серверу как простой текст с помощью
POST-запроса HTTP. Скажем, вы
-
заходите на Tumblr. Сначала вы делаете POST-запрос,
то есть POST на страницу авторизации Tumblr, к которой
-
прикреплены определенные данные. Здесь ваша электронная
почта и пароль. Далее направляемся к серверу Tumblr.
-
Сервер Tumblr узнает вас как Дэвида. Он пересылает
веб-страницу обратно в ваш браузер,
-
который говорит: Успешный вход как "Дэвид"! Но к
этой веб-странице он также
-
прикрепляет определенные невидимые файлы cookie,
которые ваш браузер увидит и сохранит.
-
Это очень важно, ведь только так сайт может запомнить,
кто вы. Файлы cookie —
-
это ваше удостоверение личности для сайта Tumblr.
Это число, которое идентифицирует вас как Дэвида.
-
Ваш веб-браузер запомнит это число, и в следующий раз,
когда вы обновите Tumblr или перейдете
-
на Tumblr.com, ваш браузер автоматически прикрепит
этот идентификационный номер
-
к запросу, который он отправляет на серверы
Tumblr. Теперь серверы Tumblr видят запрос,
-
поступающий из вашего браузера, видят идентификационный
номер и понимают:
-
"Окей, это запрос от Дэвида". Мы знаем, что
интернет полностью открыт для всех.
-
Все связи в нем общие, а информация передаетсья
простым текстом. Это дает
-
возможность хакерам похитить какую-либо личную
информацию, которую вы отправляете через интернет.
-
Но безопасные веб-сайты предотвращают это, требуя
от вашего браузера общаться
-
на защищенном канале, используя так называемый
"защищенный сокет" (SSL), и его прееемника
-
"Безопасность транспортного уровня" (TLS). SSL и
TLS является как бы слоем безопасности, в который
-
упаковали ваши сообщения для их защиты от кражи или подделки. SSL
и TLS активны, когда вы видите
-
замочек в адресной строке браузера, рядом с HTTPS.
Протоколы HTTPS обеспечивают безопасное соединение
-
и защиту для ваших HTTP-запросов.
Когда вебсайт просит ваш браузер установить
-
защищенное соединение, он сначала предоставляет
цифровой сертификат. Это как официальное
-
удостоверение личности, подтверждающее, что это
настоящий сайт, а не имитация. Цифровые
-
сертификаты выдаются органами сертификации, которые
являются доверенными, чтобы проверять на
-
подлинность веб-сайты и выдавать им сертификаты.
Так же, как правительство выдает удостоверения
-
личности или паспорта. Если же сайт попытается установить
безопасное соединение без действительного
-
цифрового сертификата, ваш браузер предупредит вас.
-
Это основы темы веб-обозревателей!
-
Часть интернета, которую мы используем изо дня в день.
Итак, HTTP и DNS управляют отправкой
-
и получением HTML, медиафайлов и всего прочего в
интернете. Это возможно только благодаря сетям
-
TCP / IP и маршрутизаторам, которые разбивают и
переносят информацию небольшими
-
пакетами. Эти пакеты состоят из двоичных последовательностей
из единиц и нулей, которые физически передаются
-
через электрические провода, оптоволоконные
кабели и беспроводные сети.
-
К счастью, если вы понимаете, как работает один слой
интернета, вы можете положиться
-
на него, не запоминая всех подробностей. Мы знаем,
что все эти слои будут работать вместе,
-
чтобы один за другим передавать информацию, руководствуясь
принципами масштабирования и надежности.