Подтвердить что ты не робот

Преимущества и недостатки использования кодированных изображений base64

Я собираюсь использовать кодированные изображения base64 для сайта, над которым я работаю, для оптимизации времени загрузки.

В любом случае, прежде чем я начну, мне было интересно: каковы преимущества и недостатки этого?

В настоящий момент я не вижу недостатков, но также заметил, что это не техника, используемая очень часто, и это заставляет меня задаться вопросом, не пропустил ли я что-то.

После googleing темы я ничего не нашел, поэтому решил спросить здесь.

4b9b3361

Ответ 1

Это полезно только для очень маленьких изображений. Закодированные файлы Base64 больше оригинала. Преимущество заключается в том, что вам не нужно открывать другое соединение и делать HTTP-запрос на сервер для изображения. Это преимущество теряется очень быстро, поэтому есть только преимущество для большого количества очень маленьких отдельных изображений.

Ответ 2

фактическая длина MIME-совместимых двоичных данных с кодировкой Base64 обычно около 137% от исходной длины данных, хотя для очень коротких сообщения, накладные расходы могут быть намного выше из-за накладных расходов заголовки. Очень грубо говоря, конечный размер двоичных данных с кодировкой Base64 равный 1,37 раза от исходного размера данных + 814 байтов (для заголовков).

Другими словами, размер декодированных данных может быть аппроксимирован этой формулой:

bytes = (string_length(encoded_string) - 814) / 1.37

Источник: http://en.wikipedia.org/wiki/Base64#MIME

Ответ 3

Некоторые из недостатков, как показано ниже, уже упоминаются в этом сообщении в Насколько быстрее использовать изображения inline/base64 для веб-сайта, чем просто ссылку на жесткий файл?

  • Большинство форм кеширования избиты, что может сильно повредить, если изображение просматривается часто - скажем, логотип, который отображается на каждой странице, который обычно можно кэшировать браузером.
  • Больше использования ЦП.

Ответ 4

также увеличивается время отклика HTML-страницы, поскольку изображения загружаются asyn в обычном сценарии. даже если изображения загружаются до конца, вы можете начать просмотр текста.

Еще одно преимущество CDN будет потеряно, если в CDN будет кэшироваться только носитель

это преимущество будет потеряно.