Сегодня поговорим о цикле «запрос-ответ» или о том, что происходит, когда вы вводите что-то в адресную строку браузера. Мне кажется забавным, да и я сама не без греха, что мы все делаем что-то, не имея представления о том, как это работает. Например, что происходит, когда вы вводите адрес? Эта лекция носит наиболее технический характер в сравнении с остальными. Не нужно это запоминать или записывать, но я правда считаю, что это поможет лучше понять происходящее при обучении 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-адрес состоит из трех частей: протокола, домена и документа. Вы должны понять, что вы работаете не просто с одним каким-то файлом. Каждый цикл запроса-ответа на самом деле состоит из нескольких этапов взаимодействия между клиентом и сервером. Так что мы начнем с малого. Мы будем создавать по одному файлу, но это проложит путь к разработке действительно больших и сложных веб-приложений.