Когда мне использовали то же изображение для различных элементов (изображения спрайта), я обычно не называю то изображение снова, поскольку это - новый Запрос HTTP.
Я скорее использую:
element1 {
background: url(someImage.png);
}
element2 {
background-image: inherit;
}
Это сохраняет Запросы HTTP?
Или если браузер умен, и я могу использовать:
element1 {
background: url(someImage.png);
}
element2 {
background: url(someImage.png);
}
Браузер собирается сделать новый Запрос HTTP? Или это знает, что мне уже кэшировали это изображение?
Вопрос: я получаю что-то при помощи примера 1?
В описанном вами сценарии браузер, по сути, будет несколько раз ссылаться на один и тот же образ на одной странице, и это почти наверняка будет кэшироваться.
На различных страницах ответ зависит от браузера, а на заголовках истечения срока действия, отправляемых вашим сервером, будет влиять поведение кэширования в соответствующих агентах.
Да, браузеры будут загружать вторую ссылку на одно и то же изображение в файле CSS из кэша. Используя Firebug, вы сможете увидеть все HTTP-запросы, сделанные браузером.