HTTP/2 в действии
Book information
Description
После изучения этой книги читатели приобретут четкое представление о том, что представляют собой протокол HTTP/2 и связанные с ним технологии. В части I обсуждается предыстория появления протокола и объясняется, в чем состоят его преимущества перед HTTP/1.1. Рассматриваются способы переноса веб-сайта на HTTP/2; приводятся инструкции по установке таких популярных вебсервисов, как Apache, nginx, IIS. Часть II описывает сам протокол и порядок установки HTTP/2-соединения, рассказывает об основном формате фреймов HTTP/2; отдельная глава посвящена push-серверу HTTP/2, который является новой частью протокола. Часть III содержит информацию о глубинных компонентах протокола, на которые не могут повлиять ни веб-разработчики, ни администраторы веб-серверов, и освещает различия между реализациями развертывания протокола HTTP/2. Наконец, в части IV обозначены перспективы развития протокола HTTP и способы его дальнейшего улучшения. Издание адресовано веб-разработчикам, администраторам веб-сайтов и тем, кто интересуется интернет-технологиями, в частности оптимизацией веб-производительности. В книге приведены ссылки, которые пригодятся читателям для дальнейшего изучения темы. Http2 в действии_переплет Http в действии.pdf Оглавление Предисловие Благодарности Об этой книге Об авторе Об иллюстрации на обложке Часть I. ПЕРЕХОД НА HTTP/2 Глава 1. Веб-технологии и HTTP 1.1. О том, как работает сеть 1.1.1. Internet и Всемирная паутина 1.1.2. Что происходит, когда вы просматриваете веб-страницы? 1.2. Что такое HTTP? 1.3. Синтаксическая структура HTTP и история его создания 1.3.1. HTTP/0.9 1.3.2. HTTP/1.0 1.3.3. HTTP/1.1 1.4. Введение в HTTPS 1.5. Инструменты для просмотра, отправки и получения HTTP-сообщений 1.5.1. Использование инструментов разработчика в веб-браузерах 1.5.2. Отправка HTTP-запросов 1.5.3. Другие инструменты для просмотра и отправки HTTP-запросов Резюме Глава 2. Путь к HTTP/2 2.1. HTTP/1.1 и современная Всемирная паутина 2.1.1. Основные проблемы с производительностью HTTP/1.1 2.1.2. Конвейеризация HTTP/1.1 2.1.3. Использование каскадных диаграмм для анализа производительности 2.2. Пути решения проблем с производительностью 2.2.1. Создание параллельных HTTP-соединений 2.2.2. Сокращение количества запросов 2.2.3. Вывод 2.3. Другие проблемы HTTP/1.1 2.4. Практические примеры 2.4.1. Пример 1: amazon.com 2.4.2. Пример 2: imgur.com 2.4.3. Насколько проблема серьезна? 2.5. Переход от HTTP/1.1 к HTTP/2 2.5.1. SPDY 2.5.2. HTTP/2 2.6. Значение HTTP/2 для веб-производительности 2.6.1. Пример предельной производительности HTTP/2 2.6.2. Какой прирост производительности может обеспечить HTTP/2? 2.6.3. Обходные пути для HTTP/1.1 как потенциальные тупики Резюме Глава 3. Переход на HTTP/2 3.1. Поддержка HTTP 3.1.1. Поддержка HTTP/2 cо стороны веб-браузера 3.1.2. Поддержка HTTP/2 серверами 3.1.3. Откат к предыдущим версиям, в случае если поддержка HTTP/2 невозможна 3.2. Способы перехода вашего сайта на HTTP/2 3.2.1. HTTP/2 на вашем веб-сервере 3.2.2. HTTP/2 с обратным прокси-сервером 3.2.3. HTTP/2 и CDN 3.2.4. Вывод по реализации HTTP/2 3.3. Устранение неполадок при настройке HTTP/2 Резюме Часть II. ИСПОЛЬЗОВАНИЕ HTTP/2 Глава 4. Основы протокола HTTP/2 4.1. Почему HTTP/2, а не HTTP/1.2? 4.1.1. Двоичный, а не текстовый 4.1.2. Мультиплексирование вместо синхронности 4.1.3. Приоритет потоков и управление ими 4.1.4. Сжатие заголовков 4.1.5. Server push 4.2. Как устанавливается HTTP/2-соединение 4.2.1. Использование HTTPS-рукопожатия 4.2.2. HTTP-заголовок Upgrade 4.2.3. Применение заранее известного протокола 4.2.4. Протокол HTTP Alternative Services 4.2.5. Преамбула соединения HTTP/2 4.3. Фреймы HTTP/2 4.3.1. Просмотр фреймов HTTP/2 4.3.2. Формат фреймов HTTP/2 4.3.3. Исследование потока сообщений HTTP/2 на примерах 4.3.4. Дополнительные фреймы Резюме Глава 5. Реализация HTTP/2 push 5.1. Что такое HTTP/2 server push? 5.2. Как отправлять push-сообщения 5.2.1. Отправка push-сообщений с помощью HTTP-заголовка ссылки 5.2.2. Просмотр ресурсов, отправленных с помощью HTTP/2 push 5.2.3. Загрузка ресурсов посредством push из нисходящих систем с помощью заголовков ссылок 5.2.4. Предварительная push-загрузка ресурсов 5.2.5. Другие способы push-загрузки 5.3. Как работает HTTP/2 push в браузере 5.3.1. Как работает кеш push 5.3.2. Отказ от push с помощью RST_STREAM 5.4. Условная push-загрузка 5.4.1. Отслеживание push на стороне сервера 5.4.2. Условные HTTP-запросы 5.4.3. Push-загрузка с помощью куки-файлов 5.4.4. Дайджесты кеша 5.5. К каким ресурсам применим HTTP/2 push 5.5.1. К чему может быть применим push? 5.5.2. К чему должен быть применим push? 5.5.3. Автоматизация push-загрузки 5.6. Решение проблем HTTP/2 push 5.7. Влияние HTTP/2 push на производительность 5.8. Push или предварительная загрузка? 5.9. Другие варианты использования HTTP/2 push Резюме Глава 6. Оптимизация в HTTP/2 6.1. Значение HTTP/2 для веб-разработчиков 6.2. Оптимизация HTTP/1.1 мешает HTTP/2? 6.2.1. Запросы HTTP/2 по-прежнему затратны 6.2.3. Возможности HTTP/2 не безграничны 6.2.3. Для больших ресурсов эффективнее сжатие 6.2.4. Ограничение пропускной способности и конкуренция ресурсов 6.2.5. Сегментирование данных 6.2.6. Встраивание ресурсов 6.2.7. Заключение 6.3. Методы повышения веб-производительности все еще актуальны для HTTP/2 6.3.1. Уменьшение объема передаваемых данных 6.3.2. Предотвращение повторной отправки данных с помощью кеширования 6.3.3. Снижение нагрузки на сеть посредством сервис-воркеров 6.3.4. Не отправляйте то, что вам не нужно 6.3.5. Подсказки для ресурсов HTTP 6.3.6. Сокращение задержки «последней мили» 6.3.7. Оптимизация HTTPS 6.3.8. Методы повышения веб-производительности, не связанные с HTTP 6.4. Оптимизация и для HTTP/1.1, и для HTTP/2 6.4.1. Измерение трафика HTTP/2 6.4.2. Отслеживание поддержки HTTP/2 на стороне сервера 6.4.3. Отслеживание поддержки HTTP/2 на стороне клиента 6.4.4. Объединение соединений 6.4.5. Сколько времени занимает оптимизация для пользователей HTTP/1.1 Резюме Часть III. ПРОДВИНУТЫЙ УРОВЕНЬ ПОЛЬЗОВАНИЯ HTTP/2 Глава 7. Расширенные возможности HTTP/2 7.1. Состояния HTTP/2-потока 7.2. Управление потоками информации 7.2.1. Пример управления потоками информации 7.2.2. Настройка управления потоком информации на сервере 7.3. Приоритеты потоков 7.3.1. Зависимости потоков 7.3.2. Взвешивание потока 7.3.3. Почему приоритизация – это так сложно? 7.3.4. Приоритизация в веб-серверах и браузерах 7.4. Проверка совместимости с HTTP/2 7.4.1. Проверка совместимости сервера 7.4.2. Проверка совместимости клиента Резюме Глава 8. Cжатие заголовков HPACK 8.1. Для чего нужно сжатие заголовков? 8.2. Как работает сжатие 8.2.1. Таблицы подстановки 8.2.2. Более эффективные методы кодировки 8.2.3. Ретроспективное сжатие 8.3. Сжатие HTTP-тел 8.4. Сжатие заголовка HPACK для HTTP/2 8.4.1. Статическая таблица HPACK 8.4.2. Динамическая таблица HPACK 8.4.3. Типы заголовков HPACK 8.4.4. Таблица кодировки Хаффмана 8.4.5. Скрипт кодирования по Хаффману 8.4.6. Почему кодирование Хафманна подходит не во всех случаях 8.5. Практические примеры сжатия HPACK 8.6. HPACK в реализациях клиента и сервера 8.7. Ценность HPACK Резюме Часть IV. БУДУЩЕЕ HTTP Глава 9. TCP, QUIC и HTTP/3 9.1. HTTP и слабые стороны TCP 9.1.1. Задержка предустановки HTTP/2 9.1.2. Неэффективность системы контроля перегрузки в TCP 9.1.3. Влияние слабых мест TCP на HTTP/2 9.1.4. Оптимизация TCP 9.1.5. Будущее TCP и HTTP 9.2. QUIC 9.2.1. Преимущества QUIC в производительности 9.2.2. Место QUIC в стеке Internet 9.2.3. Что такое UDP и почему он является основой QUIC 9.2.4. Стандартизация QUIC 9.2.5. Различия между HTTP/2 и QUIC 9.2.6. Инструменты QUIC 9.2.7. Реализации QUIC 9.2.8. Стоит ли переходить на QUIC? Резюме Глава 10. Дальнейшее развитие HTTP 10.1. Споры о HTTP/2 и его недостатках 10.1.1. Споры о SPDY 10.1.2. Проблемы конфиденциальности и состояния в HTTP 10.1.3. HTTP и шифрование 10.1.4. Проблемы транспортного протокола 10.1.5. HTTP/2 слишком сложен 10.1.6. HTTP/2 – временная мера 10.2. HTTP/2 в реальном мире 10.3. Будущие версии HTTP/2 и возможности HTTP/3 или HTTP/4 10.3.1. QUIC – это HTTP/3? 10.3.2. Дальнейшее развитие двоичного протокола HTTP 10.3.3. Развитие HTTP над транспортным уровнем 10.3.4. Какие расширения требуют создания новой версии HTTP? 10.3.5. Как могут быть представлены будущие версии HTTP 10.4. HTTP как базовый транспортный уровень 10.4.1. Использование семантики и сообщений HTTP для доставки внутреннего трафика 10.4.2. Использование концепции двоичного фрейминга HTTP/2 10.4.3. Использование HTTP для запуска другого протокола Резюме Приложение. Обновление популярных веб-серверов до HTTP/2 A.1. Обновление вашего веб-сервера для поддержки HTTP/2 A.1.1. Apache A.1.2. nginx A.1.3. Microsoft Internet Information Services (IIS) A.1.4. Другие серверы A.2. Настройка HTTP/2 через обратный прокси-сервер A.2.1. Apache A.2.2. nginx Предметный указатель
Similar books
HTTP/2 в действии
2021 · PDF
Методология научных исследований и прикладной аналитики: Учебник. Изд. 5-е, дополн. и перераб. В 2 т. Т.2: Научные исследования: Мастерство и искусство научного мышления и научной работы / Methodology of Scientific Research and Practical Analytics: A Textbook: Fifth Edition. In two volumes. Vol.2: Scientific research: Art of scientific thinking and scientific work / Méthodologie de la recherche scientifique et de l’analytique appliquée: Manuel: Cinquième édition. En 2 tomes. T.2: Recherches scientifiques: Art de la pensée scientifique et du travail scientifique
2025 · PDF
Методы и понятия философии искусства: практикум : уровень подготовки кадров высшей квалификации: ассиснтурв-стажировка : специальности: 54.09.03 "Искусство дизайна (по видам)", 54.09.02 "Мастерство декоративно-прикладного искусства и народных промыслов (по видам)" : укрупненная группа специальностей: 54.00.00 "Изобразительное и прикладные виды искусств" : квалификация выпускника: "Преподаватель творческих дисциплин в высшей школе. Дизайнер", "Преподаватель творческих дисциплин в высшей школе. Художник декоративно-прикладного искусства" : форма обучения: очная
2022 · PDF
Разработка графического интерфейса пользователя информационной системы с использованием библиотеки QT: учебное пособие для студентов 1 курса направлений подготовки 09.04.02 "Информационные системы и технологии", 27.04.03 "Системный анализ и управление" очной формы обучения, 2 курса направления подготовки 10.05.03 "Информационная безопасность автоматизированных систем" очной формы обучения и 3 курса направления подготовки 09.03.02 "Информационные системы и технологии" очной и заочной форм обучения : учебное электронное издание
2021 · PDF
Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.) =: Archaeological Cultures of Siberia in the context of Cross-cultural contacts in Eurasia: dedicated to the 300th anniversary of the first scientific archaeological excavations in Siberia (1722) : материалы Международной археологической конференции молодых исследователей "Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.)" (Новосибирск, 21-25 ноября 2022 г.)
2022 · PDF
Трешниковские чтения - 2023. Современная географическая картина мира и технологии географического образования =: Treshnikov readings - 2023. Modern geographical global picture and technology of geographic education : материалы Всероссийской научно-практической конференции с международным участием, посвящённой памяти знаменитого российского океанолога, исследователя Арктики и Антарктики, академика Алексея Фёдоровича Трёшникова и 60-летию Ульяновского областного отделения Всероссийской общественной организации "Русское гаографическое общество" (13 апреля 2023)
2023 · PDF
Управление объектами интеллектуальной собственности. Искусство изобретать: учебник для обучающихся по направлениям подготовки 23.00.00 , направлениям подготовки 23.03.01 "Технология транспортных процессов", уровень образования-"бакалавриат", 23.03.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования-"бакалавриат", 23.04.01 "Технология транспортных процессов", уровень образования- "магистратура", 23.04.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования- "магистратура"
2022 · PDF
Философия. Учебно-методический комплекс дисциплины по направлениям подготовки: 51.03.03 (071800.62) «Социально-культурная деятельность», профили подготовки: «Социально-культурные технологии в индустрии досуга», «Менеджмент социально-культурной деятельности», «Менеджмент детско-юношеского досуга», «Постановка и продюсирование культурно-досуговых программ», «Социально-культурная анимация и рекреация»; 38.03.02 (080200.62) «Менеджмент», профили подготовки: «Управление человеческими ресурсами», «Управление малым бизнесом», квалификации (степень) выпускника – «бакалавр»
2014 · PDF