«Быстрее» является твердая вещь, чтобы ответить, потому что есть много возможных интерпретаций и ситуаций:
Base64 кодирование расширится изображение на треть, что позволит увеличить пропускную способность использования. С другой стороны, в том числе и в файле, будет удалена еще одна поездка GET на сервер. Таким образом, труба с большой пропускной способностью, но с низкой задержкой (например, подключение к спутниковому интернету), скорее всего, загрузит страницу со встроенными изображениями быстрее, чем если бы вы использовали разные файлы изображений. Даже на моей (сельской, медленной) линии DSL сайтам, которым требуется много поездок в оба конца, требуется намного больше времени для загрузки, чем те, которые являются относительно большими, но требуют лишь нескольких GET.
Если вы делаете кодировку base64 из исходных файлов с каждым запросом, вы будете использовать больше CPU, разбивая ваши кэши данных и т. Д., Что может повредить время отклика серверов. (Конечно, вы всегда можете использовать memcached или такой, чтобы решить эту проблему).
Выполнение этого, конечно же, предотвратит большинство форм кеширования, что может сильно повредить, если изображение просматривается часто - скажем, логотип, который отображается на каждой странице, который обычно может быть кэширован браузером (или прокси-сервером кеш, как кальмар или что-то еще) и запрашивается один раз в месяц. Это также предотвратит использование многими веб-серверами оптимизации для обслуживания статических файлов с использованием API-интерфейсов ядра, таких как sendfile (2).
В основном, это поможет в определенных ситуациях и повредит другие. Вам нужно определить, какие ситуации важны для вас, прежде чем вы сможете понять, действительно ли это полезный трюк для вас.
Вы извлечь большую пользу из уменьшенного количества HTTP запросов, тоже. –
Давайте определим «быстрее», как в: время, необходимое пользователю для просмотра полной отображаемой HTML-страницы. – Tim