Google CDN не архивирует jquery - PullRequest
8 голосов
/ 09 июня 2010

Если я перейду сюда: http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js

Я загружаю 70k с использованием Firefox 3.6.3 и могу подтвердить, что он отправляет Accept-Encoding: gzip.

Если я использую Microsoft: http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js

Я загружаю 30 КБ (и это происходит как Content-Encoding: gzip)

Я также испытываю это при использовании jquery 1.4.2 на обычных сайтах, например, jquery.com. Как ни странно, переполнение стека, которое ссылается на jquery 1.3.2 в Google CDN, проходит через gzipped.

Почему это происходит? Это какая-то проблема с Google или я что-то упустил?

Я живу в Мельбурне, Австралия.

РЕДАКТИРОВАТЬ: ой перепутал ссылки. хм http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js работает для меня .. похоже, это только 1,4 включительно

Ответы [ 2 ]

8 голосов
/ 17 июля 2010

О поддержке GZip на CDN Google:

Google CDN поддерживает сжатие GZip. Насколько я знаю, он не поддерживает Deflate, но это не имеет значения, потому что все основные браузеры поддерживают оба.

Вы можете убедиться в этом сами, используя Очень хороший просмотрщик HTTP Рекса Суэйна ; просто введите "gzip" в поле Accept-Encoding.

Я немного поиграл, и мне кажется, что CDN от Google требует белый список браузеров перед отправкой сжатого Javascript. Если вы иногда видите слишком толстые ответы из CDN Google, то, возможно, это то, что сбило вас с толку. Если вы хотите поиграть с этим, вы можете снова использовать средство просмотра Rex Swain и вставить пустую строку в качестве заголовка User-Agent.

Об URL-адресах "автоматического обновления":

ИМХО, не идеально использовать ссылки 1.x или 1.4.x в CDN Google (без полной версии версии).

Первая причина заключается в том, что Google обслуживает эти URL-адреса с низким максимальным значением Cache-Control, равным 1 часу. Google, конечно, делает это, чтобы облегчить быстрые обновления, когда выйдет новая версия jQuery. (Это может быть не так плохо для производительности, как может показаться на первый взгляд. Google также отправляет повторные проверки и последние измененные заголовки, поэтому я предполагаю, что CDN Google полностью поддерживает повторную проверку.)

Основная причина, по которой мне не нравятся URL-адреса автоматического обновления, заключается в следующем: если вы обслуживаете jQuery с одного из URL-адресов с помощью автоматических обновлений, то в дальнейшем вы рискуете столкнуться с неизвестными проблемами несовместимости. Будущая версия jQuery может вступить в конфликт с одним из многих используемых вами сторонних сценариев и вызвать молчаливый разрыв ваших страниц.

Вывод:

Есть обоснованная критика использования Google CDN . У некоторых команд есть отличный процесс сборки с автоматическим объединением и минимизацией сценариев, а также быстрый глобальный CDN для их контента. Если вы входите в одну из этих команд, то, возможно, Google CDN - не лучший вариант для вас. Но для большинства «обычных» сайтов лучший способ обслуживания jQuery заключается в использовании CDN Google с полным идентификатором версии .

.
1 голос
/ 09 июня 2010

У меня это наоборот.

Google - 24 КБ, а MS - 70 КБ ...

...