Doesn't JnlpDownloadServlet check for "If-Modified-Since" http header?

Hello,

Since I migrated to JnlpDownloadServlet I got rid of update-problems I had with jnlp-files downloaded from a server.

However now Webstart downloads all jar-files from the servlet each time the application is launched, even if an appropriate version is already in cache.

A typical conversation between webstart and the JnlpDownloadServlet looks like this:

GET /webstart/applet_core.jar HTTP/1.1

content-type: application/x-java-archive

accept-encoding: pack200-gzip,gzip

User-Agent: JNLP/6.0 javaws/1.6.0-rc (rc-b104) Java/1.6.0-rc

UA-Java-Version: 1.6.0-rc

Host: 10.0.0.1:3355

Cache-Control: no-cache

Pragma: no-cache

Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2

Connection: keep-alive

If-Modified-Since: Tue, 02 Jan 2007 17:27:48 GMT

HTTP/1.1 200 OK

Date: Tue, 02 Jan 2007 17:42:36 GMT

Server: Jetty/5.1.2 (Linux/2.6.18-1.2849.fc6 i386 java/1.6.0-rc

Content-Type: application/java-archive

Content-Length: 736379

Last-Modified: Tue, 02 Jan 2007 17:27:48 GMT

.........binary jar data coming here ..............

However it looks every time the same - although the Webstart-Client says it only needs the data "If-Modified-Since: Tue, 02 Jan 2007 17:27:48 GMT" the servlet sends everything again and again.

I checked the source and was not able to locate the piece of code the checks for the "If-Modified-Since"-Header, so does the servlet even honor this request or does it send everytime the full jar down the the Webstart-Client.

I used the source that is distributed in the jdk6 under samples/jnlp.

Any ideas or help your be very welcome.

Thank you in advance, lg Clemens

[1797 byte] By [linuxhippya] at [2007-11-26 13:56:20]
# 1
I hacked the Servlet myself so that it honors the if-modified-since header and returns HTTP-304 if the cached version is still ok.lg Clemens
linuxhippya at 2007-7-8 1:35:49 > top of Java-index,Desktop,Deploying...