Can the proxy server cache individual pictures from websites?
would all of the webpage have to be requested again due to its dynamic capacity?
The dynamic parts would have to be refetched, the proxy should take care of this by examining the proxy-control headers in each separately fetched element of the page.
Here's a short (edited) example of a Wireshark capture of Chrome fetching a web-page from Superuser
GET /questions/419790/confused-by-cpu-model HTTP/1.1
HTTP/1.1 200 OK
Cache-Control: public, max-age=60
Content-Type: text/html; charset=utf-8
Expires: Wed, 02 May 2012 19:41:23 GMT
Last-Modified: Wed, 02 May 2012 19:40:23 GMT
Date: Wed, 02 May 2012 19:40:23 GMT
Cache-Control: public, max-age=60 and the
Expires: Wed, 02 May 2012 19:41:23 GMT this is how the server attempts to control how each piece of content gets cached. A superuser question page may have dozens or hundreds of such individually fetched elements.
Read what W3C say about Cache-control
The Cache-Control general-header field is used to specify directives
that MUST be obeyed by all caching mechanisms along the
request/response chain. The directives specify behavior intended to
prevent caches from adversely interfering with the request or
response. These directives typically override the default caching
algorithms. Cache directives are unidirectional in that the presence
of a directive in a request does not imply that the same directive is
to be given in the response.
Indicates that the response MAY be cached by any cache, even if
it would normally be non-cacheable or cacheable only within a non-
shared cache. (See also Authorization, section 14.8, for additional
Indicates that all or part of the response message
is intended for a single user and MUST NOT be cached by a shared
cache. This allows an origin server to state that the specified parts
of the response are intended for only one user and are not a valid
response for requests by other users. A private (non-shared) cache MAY
cache the response. Note: This usage of the word private only controls
where the response may be cached, and cannot ensure the privacy of the
If the no-cache directive does not specify a field-name, then
a cache MUST NOT use the response to satisfy a subsequent request
without successful revalidation with the origin server. This allows an
origin server to prevent caching even by caches that have been
configured to return stale responses to client requests.
and so on - it's a large subject area.