Last Modified Times
By now, we’re sure you’ve learned that servlets handle
GET
requests with the
doGet()
method. And that’s almost true. The full truth is that not
every request really needs to invoke doGet()
. For
example, a web browser that repeatedly accesses
PrimeSearcher
should need to call
doGet()
only after the searcher thread has found a
new prime. Until that time, any call to doGet()
just generates the same page the user has already seen, a page
probably stored in the browser’s cache. What’s really
needed is a way for a servlet to report when its output has changed.
That’s where the
getLastModified()
method comes in.
Most web servers, when they return a document, include as part of
their response a Last-Modified
header. An example
Last-Modified
header value might be:
Tue, 06-May-98 15:41:02 GMT
This header tells the client the time the page was last changed. That information alone is only marginally interesting, but it proves useful when a browser reloads a page.
Most web browsers, when they reload a page, include in their request
an
If-Modified-Since
header. Its structure is identical to
the Last-Modified
header:
Tue, 06-May-98 15:41:02 GMT
This header tells the server the Last-Modified
time of the page when it was last downloaded by the browser. The server can read this header and determine if the file has changed since the given time. If the file has changed, the server must send the newer content. If the file hasn’t changed, the server can reply with a simple, short ...
Get Java Servlet Programming now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.