Жизненный цикл HTTP-запроса

Перед программированием веб-приложений весьма полезно понять работу HTTP-протокола.

Начнём с того, что рассмотрим, кто такие сервер и клиент. Как производится поиск адреса по доменному имени. Как устанавливается соединение. Как осуществляется запрос и возвращается ответ:

  • 00:00:44 Устройства в сети
  • 00:01:49 IP-адрес
  • 00:04:31 Протокол HTTP
  • 00:05:21 Запрос страницы сайта
  • 00:06:21 Клиент и сервер
  • 00:08:31 Доменные имена и IP Resolving
  • 00:09:35 Локальный справочник адресов
  • 00:12:01 Иерархическая система DNS
  • 00:15:50 Кеширование IP-адресов
  • 00:16:48 Виртуальные порты сервера
  • 00:18:58 Выделение порта для клиента
  • 00:20:03 Установка соединения
  • 00:20:42 Запрос и ответ
  • 00:21:30 Закрытие соединения
  • 00:22:25 Проблема производительности
  • 00:23:10 Оптимизированный HTTP 1.1
  • 00:24:00 Мультиплексирование в HTTP 2
  • 00:25:20 Конкурентность запросов
  • 00:25:57 Проксирование запросов
  • 00:26:50 Обзор результата

И в следующем эпизоде разберём структуру запроса и ответа.

Скрытый контент (код, слайды, ...) для подписчиков. Открыть →
Дмитрий Елисеев
elisdn.ru
Комментарии (38)
Александр

Информация приподносится очень доходчиво. Было бы здорово увеличивать скорость воспроизведения (привык смотреть в 2x скорости)

Ответить
Дмитрий Елисеев

Добавили переключатель скорости.

Ответить
BlackCode

На мобильном в хроме скорость при переключении не меняется...

Ответить
BlackCode

Наврал, в хроме наоборот работает. В родном от xiaomi не работал

Ответить
Николай

Круто, спасибо!

Ответить
Сарибжанов Ильдар

Работа DNS серверов не совсем точно описана. У неподготовленного зрителя может сложится впечатление, что запрос ip для необходимого имени происходит хаотично, и отсюда можно сделать вывод, что задача поиска нужного ip может превратиться в задачу коммивояжера, особенно, если запрошенный адрес не существует.

В действительности каждый сервер, если сам не знает необходимый ip, то знает у кого спросить, а не шарится про всему интернету в поисках знающего человека

Вот тут есть более детальное описание https://habr.com/ru/post/137587/

Ответить
Дмитрий Елисеев

Да, запрос в любом случае идёт вверх к корневому серверу и далее спускается вниз по иерархии доменных имён. Но к промежуточным кеширующим серверам запросы приходят порой случайно, если чётко не прописано в настройках, к какому именно вышележащему серверу обращаться. А так да, DNS сам по себе весьма сложен.

Ответить
tarzan_pasha

Дмитрий, а доступ к вашим урокам на этом сайте будет насколько дорогим? Нужно будет покупать доступы к каждым группам уроков или будет некая абон плата? А бесплатных уроков не будет ?

Ответить
Дмитрий Елисеев

Общая автоматическая абонентская плата на всю базу знаний. Часть уроков будут бесплатными.

Ответить
tarzan_pasha

спасибо! а материалы платных тренингов не будут входить в эту абон плату?

Ответить
Дмитрий Елисеев

Если записи мастер-класса будут выложены здесь как группа уроков, то они войдут. Для остальных мероприятий будут скидочные купоны. Так что и они частично войдут.

Ответить
Артур Марков

Спасибо за занятие. Звук, видео и содержание на 5!

Ответить
Роман

+

Ответить
Владимир

Остальные видео из этой серии будут по подписке?

Ответить
vk

Спасибо. Отличный материал, уверен, что и другие будут не хуже. Скажите, сколько публикаций планируете размещать в месяц? И если можно, сделайте доступной оплату через Яндекс-Деньги

Ответить
Дмитрий Елисеев

По плану пока одно-два видео в неделю.

Увы, но регулярные автоплатежи работают только с банковскими картами. Вы можете выпустить электронную виртуальную карту для Яндекс.Денег и оплатить с неё.

Ответить
Антон

Дмитрий, спасибо за видео! Отличная идея с проектом. Пожелание - видео чаще, но короче (как у Джефри ))).

Ответить
Павел

Спасибо, Дмитрий! С этим проектом, теперь мои пробелы в знаниях начнут исчезать.

Ответить
Александр

Здравствуйте, было бы здорово сделать управление видеоплеером с клавиш, в частности, стоп - старт на пробел очень не хватает и небольшой перемотки стрелками. Спасибо

Ответить
Дмитрий Елисеев

Готово.

Ответить
Александр

Спасибо, работает неплохо, хром 72, макось.

Ответить
Андрей

Подскажите, вы говорите что curl как клиент просит у ОС свободный порт и с этого порта под своим ip-адресом стучится на сервер, а что происходит в случае если клиент находится за несколькими nat (локальная сеть, интернет-провайдер)?

Ответить
Дмитрий Елисеев

Тогда в случае использования IPv4-адреса каждый узел как в примере с прокси подменяет IP-адрес и порт на свой. В итоге все клиенты из одной локальной сети видны как вышедшие с одного IP внешнего шлюза.

Ответить
Jevgeni

Спасибо Дмитрий, отличный проект пилите, есть несколько предложений и вопросов. Не могли бы вы добавить раздел либо после каждой темы список литературы на руссском и английском языках которая достойна по вашему мнению по этим темам, и по поводу оплаты планируется ли в будующем добавить webmoney ?

Ответить
Дмитрий Елисеев

Про литературу думаю.

А насчёт оплаты автоплатежи работают только с картой. Вы можете выпустить виртуальную карту для WebMoney и использовать её.

Ответить
Иван

"Компьютерные сети", В.Олифер, Н.Олифер

Ответить
Сергей

11:54 - в windows 10 начали работать wildcard записи формата .localhost, что позволяет использовать имена вроде myproject.localhost, myproject2.localhost с 1 записью, в Linux подобное (вроде бы) работает давно, но с другим синтаксисом. Очень удобно при разработке (кстати, домен .dev существует и находится в собственности google).

Ответить
Вячеслав

В операционных системах есть механизм кэширования разрезолвенных доменных имен? Или ОС каждый раз ходит на ДНС сервер?

Ответить
Please why you haven't created these videos in english ? I don't understand russian..

Please why you haven't created these videos in english? I don't understand russian ..

Ответить
Артем

Классно! Столько скринкастов!

Ответить
Александр

Классная подача. Фундаментальные знания. Понравилось про ДНС - вроде знал что это такое, но теперь наконец-то появилось понимание

Ответить
Дмитрий

Для этого курса есть какой то конспект, если нет платной подписки?

Ответить
Дмитрий Елисеев

Готового нет.

Ответить
Сергей

Класс, вот и перезапись пошла эпизодов - так держать! Курс отличный, спасибо за него.

Ответить
Максим (@myks92)

Было бы не плохо теперь к комментариям добавить дату. Иногда не понятно какие комментарии относятся к перезаписанным видео, а какие были до записывания) Может это и не сильно актуально, но, думаю, что могут возникнуть такие проблемы, когда в комментариях будут ссылаться на какую-то часть, которой нет в новом видео или конкретные минуты

Ответить
Дмитрий Елисеев

Добавили

Ответить
Зарегистрируйтесь или войдите чтобы оставить комментарий

Или войти через:

Yandex
MailRu
GitHub
Google