Может ли прокси-сервер кэшировать отдельные изображения с веб-сайтов?
Да.
нужно ли будет снова запрашивать всю веб-страницу из-за ее динамического объема?
Динамические части должны были бы быть повторно получены, прокси должен позаботиться об этом, исследуя заголовки прокси-контроля в каждом отдельно выбранном элементе страницы.
Вот краткий (отредактированный) пример захвата Wireshark Chrome, извлекающего веб-страницу из Superuser
Запрос клиента
GET /questions/419790/confused-by-cpu-model HTTP/1.1
Host: superuser.com
Connection: keep-alive
User-Agent: …Chrome…
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Referer: http://superuser.com/questions
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-GB,en-US;q=0.8,en;q=0.6
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: …
Ответ сервера
HTTP/1.1 200 OK
Cache-Control: public, max-age=60
Content-Type: text/html; charset=utf-8
Content-Encoding: gzip
Expires: Wed, 02 May 2012 19:41:23 GMT
Last-Modified: Wed, 02 May 2012 19:40:23 GMT
Vary: *
Date: Wed, 02 May 2012 19:40:23 GMT
Content-Length: 9831
Обратите внимание на Cache-Control: public, max-age=60
и Expires: Wed, 02 May 2012 19:41:23 GMT
это то, как сервер пытается контролировать, как кэшируется каждый фрагмент контента. Страница вопросов суперпользователя может содержать десятки или сотни таких индивидуально извлеченных элементов.
Прочитайте, что W3C говорит о Cache-control
Поле общего заголовка Cache-Control используется для указания директив, которым ДОЛЖНЫ подчиняться все механизмы кэширования в цепочке запросов / ответов. Директивы определяют поведение, предназначенное для предотвращения неблагоприятного вмешательства кэшей в запрос или ответ. Эти директивы обычно переопределяют алгоритмы кэширования по умолчанию. Директивы кэширования являются однонаправленными в том смысле, что наличие директивы в запросе не означает, что в ответе должна быть указана та же директива.
потом
общественности
Указывает, что ответ МОЖЕТ быть кэширован любым кешем, даже если он обычно не кешируется или кешируется только в не кешируемом кеше. (См. Также Авторизация, раздел 14.8, для получения дополнительной информации.)
частный
Указывает, что все или часть ответного сообщения предназначены для одного пользователя и НЕ ДОЛЖНЫ кешироваться общим кешем. Это позволяет исходному серверу утверждать, что указанные части ответа предназначены только для одного пользователя и не являются действительным ответом на запросы других пользователей. Частный (не общий) кеш МОЖЕТ кешировать ответ. Примечание. Такое использование слова private только контролирует, где может кэшироваться ответ, и не может обеспечить конфиденциальность содержимого сообщения.
нет кэша
Если директива no-cache не задает имя поля, то кеш НЕ ДОЛЖЕН использовать ответ для удовлетворения последующего запроса без успешной повторной проверки с сервером происхождения. Это позволяет исходному серверу предотвращать кэширование даже с помощью кэшей, которые были настроены для возврата устаревших ответов на клиентские запросы.
и так далее - это большая предметная область.