„Faster” to ciężko coś odpowiedzieć, ponieważ istnieje wiele możliwych interpretacji i sytuacje:
kodowania Base64 poszerzy obraz o jedną trzecią, co zwiększy wykorzystanie pasma. Z drugiej strony włączenie go do pliku spowoduje usunięcie kolejnej podróży GET do serwera. Tak więc, rura o dużej przepustowości, ale o słabym opóźnieniu (takim jak połączenie internetowe z satelitą), prawdopodobnie załaduje stronę z obrazami z wstawkami szybciej niż w przypadku używania różnych plików graficznych. Nawet na mojej (wiejskiej, powolnej) linii DSL strony, które wymagają wielu podróży w obie strony, ładują się o wiele dłużej niż te, które są stosunkowo duże, ale wymagają tylko kilku GETów.
Jeśli wykonasz kodowanie base64 z plików źródłowych przy każdym żądaniu, zużyjesz więcej procesora, pobijesz pamięć podręczną danych itd., Co może zaszkodzić czasowi reakcji serwerów. (Oczywiście zawsze możesz użyć memcached lub takich, aby rozwiązać ten problem).
Takie postępowanie będzie oczywiście zapobiegać większości form buforowania, które mogą bardzo zaszkodzić, jeśli obraz jest często oglądany - powiedzmy, logo wyświetlane na każdej stronie, które normalnie może być buforowane przez przeglądarkę (lub serwer proxy) cache jak kalmary lub cokolwiek innego) i wymagane raz w miesiącu. Zapobiegnie to także wielu optymalizacjom serwerów sieciowych do wyświetlania plików statycznych za pomocą interfejsów API jądra, takich jak sendfile (2).
Zasadniczo zrobienie tego pomoże w pewnych sytuacjach i boli innych. Musisz określić, które sytuacje są dla ciebie ważne, zanim naprawdę się zorientujesz, czy jest to dla ciebie opłacalna sztuczka.
Będziesz znacznie korzystać z obniżonej liczby żądań HTTP, too. –
Zdefiniujmy „szybciej”, jak w: czas potrzebny dla użytkownika, aby zobaczyć pełny wygenerowana strona HTML – Tim