Немного из теории HTTP-запросов

Немного из теории HTTP-запросов

Время загрузки ресурса через HTTP-соединение складывается из следующих основных элементов:

время отсылки запроса на сервер T1 — для большинства запросов величина практически постоянная;

время формирования ответа сервера — для статических ресурсов, которые мы сейчас и рассматриваем, пренебрежимо мало;

время получения ответа сервера T2, которое, в свою очередь, состоит из постоянной для сервера сетевой задержки L и времени получения ответа R, прямо пропорционального размеру ресурса.

Итак, время загрузки страницы будет состоять из времени загрузки HTML-кода и всех внешних ресурсов: изображений, CSS- и JavaScript-файлов. Основная проблема в том, что CSS и JavaSscript-файлы загружаются последовательно (разработчики браузеров уже работают над решением этой проблемы в последних версиях, однако пока еще 99% пользователей страдают от последовательной загрузки). В этом случае общение с сервером выглядит так:

— запросили страницу

— получили HTML

— запросили ресурс A: T1

— получили ресурс A: L + R(A)

— запросили ресурс B: T1

— получили ресурс B: L + R(B)

— запросили ресурс C: T1

— получили ресурс C: L + R(C)

Общие временные затраты при этом составят 3(T1+L) + R(A+B+C).

Объединяя файлы, мы уменьшаем количество запросов на сервер:

— запросили страницу

— получили HTML

— запросили ресурс A+B+C: T1

— получили ресурс A+B+C: L + R(A + B + C)

Очевидна экономия в 2(T1 + L).

Для 20 ресурсов эта экономия составит уже 19(T1 + L). Если взять достаточно типичные сейчас для домашнего/офисного Интернета значения скорости в 256 Кбит/с и пинга ~20-30 мс, получим экономию в 950 мс — одну секунду загрузки страницы. У людей же, пользующихся мобильным или спутниковым интернетом с пингом более 300 мс, разница времен загрузки страниц составит 6-7 секунд.

На первый взгляд, теория говорит, что загрузка страниц должна стать быстрее. В чем же она разошлась с практикой?

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

В теории

Из книги автора

В теории С формальной точки зрения, после того как первые два предложения воплощены в жизнь, у нас появляется дерево зависимостей. Например, такое:— dom.js— array.map.js— array.js— sprinf.js— calendar.js— date.js— mycoolcombobox.js— dom.js— array.map.js— array.js— sprinf.js— animated.pane.js— pane.js— dom.js— array.map.js— array.js—


Немного теории

Из книги автора

Немного теории Reflow — это процесс рекурсивного обхода ветви дерева DOM, вычисляющий геометрию элементов и их положение относительно родителя. Начало обхода — изменившийся элемент, но возможно и распространение в обратном порядке. Существуют следующие типы reflow:начальный


Немного теории

Из книги автора

Немного теории Wireless Application Protocol разработан специально для быстрой передачи небольших пакетов данных. За поддержку и продвижение протокола ответственна межотраслевая организация WAP Forum (http://www.wapforum.org), основанная компаниями Motorola, Nokia, Ericsson и Phone.com. Первоначальная версия WAP


От теории к практике

Из книги автора

От теории к практике На сегодняшний день мобильный телефон с поддержкой GPRS – не редкость. Сотовые с поддержкой этой технологии представлены практически всеми производителями в широком ценовом диапазоне (начиная от Motorola T260 и заканчивая Sony Ericsson K700i). СОВЕТ Тем, кто намерен


§ 40. Цветовые теории

Из книги автора

§ 40. Цветовые теории 21 июля 1999Первобытные общества выделяли три основных цвета — красный (кровь, огонь), белый (молоко, день), черный (земля, ночь). Чем сложнее и утонченнее общество, тем более широкая цветовая гамма существует в его культуре.Лирическое отступление Сколько


Каталог русских WWW-чатов ЦИПДС (http://www.homepage.techno.ru/lot/chats.html или http://cipds.al.ru/wrchats.shtml)

Из книги автора

Каталог русских WWW-чатов ЦИПДС (http://www.homepage.techno.ru/lot/chats.html или http://cipds.al.ru/wrchats.shtml) Этот каталог чатов – лишь один из многих, которые можно найти на страницах Рунета. Задайте запрос «каталог чатов» или «русские чаты» любому поисковику – и он с готовностью вывалит в ответ


4.10. Еще немного теории

Из книги автора

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


Связь HTTP GET и HTTP POST

Из книги автора

Связь HTTP GET и HTTP POST Хотя GET и POST кажутся привычными конструкциями, этот метод пересылки недостаточно гибок для обслуживания таких сложных элементов, как структуры и классы. При использовании SET и POST вы можете взаимодействовать с Web-методами, используя только типы, указанные


Глава 2 Документы: немного теории

Из книги автора

Глава 2 Документы: немного теории Нормативная база делопроизводства В этой главе будет рассмотрена юридическая сторона делопроизводства. Нормативная база в общем случае – это законы и другие правовые акты, которые регламентируют определенную деятельность.


11.5. Отправка запросов HTTP GET с применением NSURLConnection

Из книги автора

11.5. Отправка запросов HTTP GET с применением NSURLConnection Постановка задачи Необходимо отправить запрос GET по протоколу HTTP и, возможно, передать получателю вместе с этим запросом какие-либо


11.6. Отправка запросов HTTP POST с применением NSURLConnection

Из книги автора

11.6. Отправка запросов HTTP POST с применением NSURLConnection Постановка задачи Необходимо вызвать метод HTTP POST веб-сервера и, возможно, передать параметры (в теле HTTP или в строке запроса) определенной


11.7. Отправка запросов HTTP DELETE с применением NSURLConnection

Из книги автора

11.7. Отправка запросов HTTP DELETE с применением NSURLConnection Постановка задачи Требуется вызвать веб-службу методом HTTP DELETE, чтобы удалить ресурс, расположенный по ссылке URL, и, возможно, передать веб-службе определенные параметры, которые будут находиться в теле HTTP или в строке


11.8. Отправка запросов HTTP PUT с применением NSURLConnection

Из книги автора

11.8. Отправка запросов HTTP PUT с применением NSURLConnection Постановка задачи Требуется вызывать веб-службу методом HTTP PUT, чтобы размещать ресурс на веб-сервере и, возможно, передать веб-службе определенные параметры, которые будут находиться в теле HTTP или в строке