Сегодня поговорим о цикле «запрос-ответ» или
о том, что происходит, когда вы вводите что-то в адресную строку браузера.
Мне кажется забавным, да и я сама не без греха,
что мы все делаем что-то, не имея представления о том, как это работает.
Например, что происходит, когда вы вводите адрес?
Эта лекция носит наиболее технический характер в сравнении с остальными.
Не нужно это запоминать или записывать,
но я правда считаю, что это поможет лучше понять
происходящее при обучении HTML5.
Одна из вещей, в которых стоит разобраться, — взаимодействие между клиентом и сервером.
Сервер — это устройство, на котором хранятся все ресурсы.
Очень важно, чтобы он всегда был подключен к сети.
Клиенты — это то, что мы используем,
это персональные устройства,
например ноутбуки, телефоны и так далее.
Обратите внимание на картинку.
Чаще всего используются такие сети, как LAN и WAN.
LAN — это локальная вычислительная сеть.
Здесь представлена сеть из
трех разных компьютеров, подключенных к одному серверу.
Зачем это делать?
Очень часто
у вас есть только один принтер, один какой-то ресурс.
В такой системе все три устройства могут работать вместе и использовать этот один ресурс.
Еще раз, LAN — это локальная вычислительная сеть.
Иногда требуется нечто большее — глобальная вычислительная сеть.
В фильмах, где герой проникает в здание, чтобы украсть данные,
зачастую речь идет о сервере, к которому
может получить доступ любой человек, работающий в здании. Снаружи этого не сделать.
Или сеть может охватывать несколько зданий,
но информацию нужно защитить от посторонних.
Локальная сеть похожа на такой офисный комплекс.
Глобальную сеть можно сравнить с университетом:
доступ к серверам можно получить из нескольких зданий.
Конечно же, самая большая глобальная вычислительная сеть — это Интернет.
Теперь вернемся к вопросу:
Что происходит, когда вы вводите что-то в адресную строку?
Вы становитесь клиентом, который запрашивает
веб-страницу, а сервер отвечает вам с помощью нужных файлов.
То, что вы печатаете, —
это URL-адрес.
Каждый URL-адрес состоит из трех частей.
Протокол — способ подключения, домен —
сервер
и документ, который можно загрузить дополнительно.
Несмотря на то, что вы вводите один URL-адрес,
важно понять, что на самом деле
вы одновременно запрашиваете целое множество файлов.
Протоколы, которые используются чаще всего:
первый — это HTTP,
протокол передачи гипертекста,
второй — это HTTPS,
выполняет ту же роль,
но имеет повышенную степень защиты.
Так что, если вы подключаетесь к банку или другому ресурсу, где нужно ввести пароль,
в начале URL-адреса вы должны увидеть HTTPS.
Если это не так, не подключайтесь.
Последний протокол — это протокол FTP.
И она немного отличается от остальных.
В случае с HTTP
вы получаете и передаете код HTML5.
Но с FTP файл может быть любым.
Итак, протокол у нас есть.
Теперь давайте обсудим доменные имена.
Обычно доменные имена — это что-то узнаваемое, например umich.edu
для Мичиганского университета,
google.com, wikipedia.org.
У каждого из этих сайтов свой домен верхнего уровня.
Откуда они берутся?
Откуда люди берут все эти .edu, .com, .biz и тому подобное?
Их определяет организация ICANN.
Они принимают решение относительно того,
какие домены подходят тем или иным организациям.
Я добавила ссылку, при желании
можете посмотреть, какие типы доменов существуют.
Но важно понимать, что
доменное имя связано с адресом.
Раньше, когда еще мой отец пользовался Интернетом,
если он хотел подключиться к какому-то сайту,
он печатал цифры —
185.261 и так далее.
Сейчас появилась новая версия IP-адресов,
потому что каждому клиенту нужен свой адрес.
Если задуматься, сколько людей сейчас используют ноутбуки и телефоны,
вы поймете, что нам нужно огромное количество разных вариантов.
IP-адреса состоят
из наборов чисел.
Здесь представлены разные наборы,
где каждая буква X — это одно из 16 разных значений.
Как видите, вариантов много,
где-то около 300 триллионов, если точнее.
К счастью,
сервер доменных имен позволяет ввести что-то очень простое, например Umich или Google,
что затем преобразуется в эту длинную последовательность цифр.
Последняя часть URL-адреса — это документ.
Иногда вам нужно получить один конкретный документ.
Например, страницу с контактными данными
или, как в этом случае,
другой файл, который находится в папке.
Но иногда документ вообще не указывается.
Как правило, так и происходит.
Если вы введете wikipedia.org или facebook.com,
название файла не будет указано. И это нормально.
У каждого сервера по умолчанию есть документ, который будет использован для ответа.
Обычно он называется index.HTML.
Отлично. Это мы поняли.
Мы знаем, что происходит, когда мы что-то вводим.
Мы понимаем, как происходит запрос.
Однако, когда мы его введем,
в действительности мы получим огромное количество информации.
Заголовки, файлы cookie, данные форм,
все, что мы не видим.
Важно знать, что сервер возвращает файлы, не веб-страницы.
Многие придают значение лишь тому, что видят.
Когда мы вводим URL-адрес,
мы видим отобразившуюся страницу и думаем:
«О, вот эта страница».
Но иногда браузер может передавать
другие данные для различных устройств чтения с экрана,
вспомогательных средств, т.е. он возвращает не саму веб-страницу.
Он передает целое множество файлов.
Впрочем, иногда сервер не может выполнить запрос.
В таком случае он выдаст код ошибки.
Я думаю, многие из вас знакомы с ошибкой 404
и надписью «Файл не найден».
Обычно это означает, что вы ввели что-то неверно.
Если отображается ошибка 505,
это означает, что сервер не работает.
Поэтому можно сходить перекусить,
поделать что-нибудь интересное, позже снова попробовать подключиться.
Сейчас я хочу наглядно показать вам, что происходит, когда мы что-то вводим.
Вот здесь я все записала.
Браузер ищет домен,
в ответ на запрос DNS передает IP адрес,
а потом происходит передача целой кучи файлов. Давайте посмотрим.
Здесь я зашла на сайт
информационной школы Мичиганского университета.
Я просто ввела si.umich.edu.
Я не указала протокол, потому что обычно он задается по умолчанию.
Вы видите только страницу.
Студентка смотрит вдаль, выглядит увлеченной, и все в этом духе.
Но сейчас я применю небольшую хитрость:
щелкну страницу правой кнопкой мыши
и выберу «Просмотреть код».
Сбоку появится окно.
Я хочу узнать,
какая информация передается,
когда я запрашиваю эту страницу.
Я запрашиваю одну страницу. Нажимаю «Обновить».
Если посмотрите на эту часть страницы,
не волнуйтесь, что не можете разобрать подробностей.
Важно то, что одна страница состоит из целого множества файлов,
а каждый из этих файлов — это отдельный запрос.
Давайте подытожим.
Это было довольно длинное видео,
но главное, чтобы вы поняли,
что каждый URL-адрес состоит из трех частей:
протокола, домена и документа.
Вы должны понять, что вы работаете не просто с одним каким-то файлом.
Каждый цикл запроса-ответа на самом деле состоит из
нескольких этапов взаимодействия между клиентом и сервером.
Так что мы начнем с малого.
Мы будем создавать по одному файлу,
но это проложит путь к разработке действительно больших и сложных веб-приложений.