We are using the com.isomorphic.servlet.FileDownload class for serving all isomorphic related files. However, none of the files (especially important are the .js files, which together accounts for 400k of the response data) seem to be cached by the browser, even though in the http response and requests the Last-Modified time match up. Is the FileDownload servlet never allowing browser caching or is there some setup that needs to be done?
Announcement
Collapse
No announcement yet.
X
-
this is what i see in the firefox response and request headers. Our code does not add any headers since the web.xml is configured to use the FileDownload servlet directly. If the browser asks for validation of the resource, isn't the servlet supposed to return 304 Not Modified as the response status if it verified the resource is still the same? Currently it always returns 200 OK as the response.
Code:Response Headersview source Content-Type application/x-javascript Last-Modified Tue, 12 May 2009 19:02:49 GMT Expires Thu, 11 Mar 2010 17:12:47 GMT Content-Encoding gzip Content-Length 19194 Server Jetty(6.1.15) Request Headersview source Host localhost:8088 User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8 (.NET CLR 3.5.30729) Accept */* Accept-Encoding gzip,deflate Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive 300 Connection keep-alive Referer http://localhost:8088/cwf/login Cookie JSESSIONID=vsqpzfw98hbh; GLog=%7B%0D%20%20%20%20left%3A-4%2C%20%0D%20%20%20%20top%3A-4%2C%20%0D%20%20%20%20width%3A1680%2C%20%0D%20%20%20%20height%3A939%2C%20%0D%20%20%20%20priorityDefaults%3A%7B%0D%20%20%20%20%20%20%20%20Log%3A4%0D%20%20%20%20%7D%2C%20%0D%20%20%20%20defaultPriority%3A3%0D%7D If-Modified-Since Tue, 12 May 2009 19:02:49 GMT Cache-Control max-age=0
Comment
-
The FileDownload servlet does indeed check for staleness and issue 304 Not Modified responses. The problem is here is most likely that this file was not actually served by the FileDownload Servlet - it's missing telltale headers.
Try enabling verbose logging for the servlet in log4j.isc.config.xml (or your equivalent file, if you've replaced this):
Code:<category name="com.isomorphic.download.Download"> <priority value="EDBUG" /> </category>
Comment
-
The following is the pasted log from enabling debug on Download. The pasted section are the lines relevant to files served by FileDownload
Code:14:56:19.988 [862961@qtp-6137085-3] DEBUG c.i.s.RequestContext - Paths for request: Servlet path: '/isomorphic/system/modules' Request URI: '/cwf/isomorphic/system/modules/ISC_Grids.js' Path Info: '/ISC_Grids.js' Path Translated: 'C:\cwsrc\trunk\projects\cwf\web\ISC_Grids.js' Real FileSystem Path: 'C:\cwsrc\trunk\projects\cwf\web\cwf\isomorphic\system\modules\ISC_Grids.js' 14:56:19.988 [862961@qtp-6137085-3] INFO c.i.s.RequestContext - CGET URL: '/cwf/isomorphic/system/modules/ISC_Grids.js', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8 (.NET CLR 3.5.30729)': Moz (Gecko) with Accept-Encoding header 14:56:20.003 [862961@qtp-6137085-3] DEBUG c.i.download.Download - request for file: C:\cwsrc\trunk\projects\cwf\web\isomorphic\system\modules\ISC_Grids.js 14:56:19.988 [21959354@qtp-6137085-5] DEBUG c.i.s.RequestContext - Paths for request: Servlet path: '/isomorphic/system/modules' Request URI: '/cwf/isomorphic/system/modules/ISC_History.js' Path Info: '/ISC_History.js' Path Translated: 'C:\cwsrc\trunk\projects\cwf\web\ISC_History.js' Real FileSystem Path: 'C:\cwsrc\trunk\projects\cwf\web\cwf\isomorphic\system\modules\ISC_History.js' 14:56:19.972 [3006512@qtp-6137085-6] DEBUG c.i.s.RequestContext - Paths for request: Servlet path: '/isomorphic/system/modules' Request URI: '/cwf/isomorphic/system/modules/ISC_Containers.js' Path Info: '/ISC_Containers.js' Path Translated: 'C:\cwsrc\trunk\projects\cwf\web\ISC_Containers.js' Real FileSystem Path: 'C:\cwsrc\trunk\projects\cwf\web\cwf\isomorphic\system\modules\ISC_Containers.js' 14:56:20.003 [3006512@qtp-6137085-6] INFO c.i.s.RequestContext - CGET URL: '/cwf/isomorphic/system/modules/ISC_Containers.js', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8 (.NET CLR 3.5.30729)': Moz (Gecko) with Accept-Encoding header 14:56:20.003 [3006512@qtp-6137085-6] DEBUG c.i.download.Download - request for file: C:\cwsrc\trunk\projects\cwf\web\isomorphic\system\modules\ISC_Containers.js 14:56:19.972 [15103247@qtp-6137085-7] DEBUG c.i.s.RequestContext - Paths for request: Servlet path: '/isomorphic/system/modules' Request URI: '/cwf/isomorphic/system/modules/ISC_Foundation.js' Path Info: '/ISC_Foundation.js' Path Translated: 'C:\cwsrc\trunk\projects\cwf\web\ISC_Foundation.js' Real FileSystem Path: 'C:\cwsrc\trunk\projects\cwf\web\cwf\isomorphic\system\modules\ISC_Foundation.js' 14:56:20.003 [15103247@qtp-6137085-7] INFO c.i.s.RequestContext - CGET URL: '/cwf/isomorphic/system/modules/ISC_Foundation.js', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8 (.NET CLR 3.5.30729)': Moz (Gecko) with Accept-Encoding header 14:56:20.003 [15103247@qtp-6137085-7] DEBUG c.i.download.Download - request for file: C:\cwsrc\trunk\projects\cwf\web\isomorphic\system\modules\ISC_Foundation.js 14:56:20.003 [3006512@qtp-6137085-6] DEBUG c.i.download.Download - Expiration for static file: 3600 seconds from download 14:56:20.003 [21959354@qtp-6137085-5] INFO c.i.s.RequestContext - CGET URL: '/cwf/isomorphic/system/modules/ISC_History.js', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8 (.NET CLR 3.5.30729)': Moz (Gecko) with Accept-Encoding header 14:56:20.003 [21959354@qtp-6137085-5] DEBUG c.i.download.Download - request for file: C:\cwsrc\trunk\projects\cwf\web\isomorphic\system\modules\ISC_History.js 14:56:20.003 [862961@qtp-6137085-3] DEBUG c.i.download.Download - Expiration for static file: 3600 seconds from download 14:56:20.003 [2330238@qtp-6137085-8] DEBUG c.i.s.RequestContext - Paths for request: Servlet path: '/isomorphic/system/modules' Request URI: '/cwf/isomorphic/system/modules/ISC_Core.js' Path Info: '/ISC_Core.js' Path Translated: 'C:\cwsrc\trunk\projects\cwf\web\ISC_Core.js' Real FileSystem Path: 'C:\cwsrc\trunk\projects\cwf\web\cwf\isomorphic\system\modules\ISC_Core.js' 14:56:20.003 [2330238@qtp-6137085-8] INFO c.i.s.RequestContext - CGET URL: '/cwf/isomorphic/system/modules/ISC_Core.js', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8 (.NET CLR 3.5.30729)': Moz (Gecko) with Accept-Encoding header 14:56:20.003 [2330238@qtp-6137085-8] DEBUG c.i.download.Download - request for file: C:\cwsrc\trunk\projects\cwf\web\isomorphic\system\modules\ISC_Core.js 14:56:19.988 [11674406@qtp-6137085-4] INFO c.i.download.Download - done streaming: C:/cwsrc/trunk/projects/cwf/web/cwgwt/velocity/velocity.nocache.js 14:56:20.019 [2330238@qtp-6137085-8] DEBUG c.i.download.Download - Expiration for static file: 3600 seconds from download 14:56:20.003 [21959354@qtp-6137085-5] DEBUG c.i.download.Download - Expiration for static file: 3600 seconds from download 14:56:20.003 [3006512@qtp-6137085-6] INFO c.i.download.Download - Using gzipped form of request file: C:/cwsrc/trunk/projects/cwf/web/isomorphic/system/modules/ISC_Containers.js 14:56:20.003 [862961@qtp-6137085-3] INFO c.i.download.Download - Using gzipped form of request file: C:/cwsrc/trunk/projects/cwf/web/isomorphic/system/modules/ISC_Grids.js 14:56:20.003 [15103247@qtp-6137085-7] DEBUG c.i.download.Download - Expiration for static file: 3600 seconds from download 14:56:20.019 [15103247@qtp-6137085-7] INFO c.i.download.Download - Using gzipped form of request file: C:/cwsrc/trunk/projects/cwf/web/isomorphic/system/modules/ISC_Foundation.js 14:56:20.019 [3006512@qtp-6137085-6] INFO c.i.download.Download - done streaming: C:/cwsrc/trunk/projects/cwf/web/isomorphic/system/modules/ISC_Containers.js 14:56:20.019 [11674406@qtp-6137085-4] DEBUG c.i.timing.Timing - Request: /cwf/cwgwt/velocity/velocity.nocache.js (start->finish): 63ms 14:56:20.066 [11674406@qtp-6137085-4] DEBUG c.i.s.RequestContext - Paths for request: Servlet path: '/isomorphic/system/modules' Request URI: '/cwf/isomorphic/system/modules/ISC_Forms.js' Path Info: '/ISC_Forms.js' Path Translated: 'C:\cwsrc\trunk\projects\cwf\web\ISC_Forms.js' Real FileSystem Path: 'C:\cwsrc\trunk\projects\cwf\web\cwf\isomorphic\system\modules\ISC_Forms.js' 14:56:20.066 [11674406@qtp-6137085-4] INFO c.i.s.RequestContext - CGET URL: '/cwf/isomorphic/system/modules/ISC_Forms.js', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8 (.NET CLR 3.5.30729)': Moz (Gecko) with Accept-Encoding header 14:56:20.066 [11674406@qtp-6137085-4] DEBUG c.i.download.Download - request for file: C:\cwsrc\trunk\projects\cwf\web\isomorphic\system\modules\ISC_Forms.js 14:56:20.019 [21959354@qtp-6137085-5] INFO c.i.download.Download - Using gzipped form of request file: C:/cwsrc/trunk/projects/cwf/web/isomorphic/system/modules/ISC_History.js 14:56:20.019 [2330238@qtp-6137085-8] INFO c.i.download.Download - Using gzipped form of request file: C:/cwsrc/trunk/projects/cwf/web/isomorphic/system/modules/ISC_Core.js 14:56:20.050 [862961@qtp-6137085-3] INFO c.i.download.Download - done streaming: C:/cwsrc/trunk/projects/cwf/web/isomorphic/system/modules/ISC_Grids.js 14:56:20.128 [862961@qtp-6137085-3] DEBUG c.i.timing.Timing - Request: /cwf/isomorphic/system/modules/ISC_Grids.js (start->finish): 140ms 14:56:20.128 [862961@qtp-6137085-3] DEBUG c.i.s.RequestContext - Paths for request: Servlet path: '/isomorphic/skins' Request URI: '/cwf/isomorphic/skins/Enterprise/load_skin.js' Path Info: '/Enterprise/load_skin.js' Path Translated: 'C:\cwsrc\trunk\projects\cwf\web\Enterprise\load_skin.js' Real FileSystem Path: 'C:\cwsrc\trunk\projects\cwf\web\cwf\isomorphic\skins\Enterprise\load_skin.js' 14:56:20.128 [862961@qtp-6137085-3] INFO c.i.s.RequestContext - CGET URL: '/cwf/isomorphic/skins/Enterprise/load_skin.js', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8 (.NET CLR 3.5.30729)': Moz (Gecko) with Accept-Encoding header 14:56:20.035 [15103247@qtp-6137085-7] INFO c.i.download.Download - done streaming: C:/cwsrc/trunk/projects/cwf/web/isomorphic/system/modules/ISC_Foundation.js 14:56:20.019 [3006512@qtp-6137085-6] DEBUG c.i.timing.Timing - Request: /cwf/isomorphic/system/modules/ISC_Containers.js (start->finish): 47ms 14:56:20.128 [3006512@qtp-6137085-6] DEBUG c.i.s.RequestContext - Paths for request: Servlet path: '/isomorphic/system/modules' Request URI: '/cwf/isomorphic/system/modules/ISC_DataBinding.js' Path Info: '/ISC_DataBinding.js' Path Translated: 'C:\cwsrc\trunk\projects\cwf\web\ISC_DataBinding.js' Real FileSystem Path: 'C:\cwsrc\trunk\projects\cwf\web\cwf\isomorphic\system\modules\ISC_DataBinding.js' 14:56:20.128 [3006512@qtp-6137085-6] INFO c.i.s.RequestContext - CGET URL: '/cwf/isomorphic/system/modules/ISC_DataBinding.js', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8 (.NET CLR 3.5.30729)': Moz (Gecko) with Accept-Encoding header 14:56:20.128 [15103247@qtp-6137085-7] DEBUG c.i.timing.Timing - Request: /cwf/isomorphic/system/modules/ISC_Foundation.js (start->finish): 156ms 14:56:20.128 [3006512@qtp-6137085-6] DEBUG c.i.download.Download - request for file: C:\cwsrc\trunk\projects\cwf\web\isomorphic\system\modules\ISC_DataBinding.js 14:56:20.128 [862961@qtp-6137085-3] DEBUG c.i.download.Download - request for file: C:\cwsrc\trunk\projects\cwf\web\isomorphic\skins\Enterprise\load_skin.js 14:56:20.097 [21959354@qtp-6137085-5] INFO c.i.download.Download - done streaming: C:/cwsrc/trunk/projects/cwf/web/isomorphic/system/modules/ISC_History.js 14:56:20.097 [2330238@qtp-6137085-8] INFO c.i.download.Download - done streaming: C:/cwsrc/trunk/projects/cwf/web/isomorphic/system/modules/ISC_Core.js 14:56:20.066 [11674406@qtp-6137085-4] DEBUG c.i.download.Download - Expiration for static file: 3600 seconds from download 14:56:20.128 [862961@qtp-6137085-3] INFO c.i.download.Download - Returning 304: Not modified on conditional get of: C:\cwsrc\trunk\projects\cwf\web\isomorphic\skins\Enterprise\load_skin.js 14:56:20.128 [862961@qtp-6137085-3] DEBUG c.i.download.Download - Expiration for static file: 3600 seconds from download 14:56:20.128 [2330238@qtp-6137085-8] DEBUG c.i.timing.Timing - Request: /cwf/isomorphic/system/modules/ISC_Core.js (start->finish): 125ms 14:56:20.128 [3006512@qtp-6137085-6] DEBUG c.i.download.Download - Expiration for static file: 3600 seconds from download 14:56:20.128 [15103247@qtp-6137085-7] DEBUG c.i.s.RequestContext - Paths for request: Servlet path: '/isomorphic/system/modules' Request URI: '/cwf/isomorphic/system/modules/ISC_FileLoader.js' Path Info: '/ISC_FileLoader.js' Path Translated: 'C:\cwsrc\trunk\projects\cwf\web\ISC_FileLoader.js' Real FileSystem Path: 'C:\cwsrc\trunk\projects\cwf\web\cwf\isomorphic\system\modules\ISC_FileLoader.js' 14:56:20.128 [3006512@qtp-6137085-6] INFO c.i.download.Download - Using gzipped form of request file: C:/cwsrc/trunk/projects/cwf/web/isomorphic/system/modules/ISC_DataBinding.js 14:56:20.128 [15103247@qtp-6137085-7] INFO c.i.s.RequestContext - CGET URL: '/cwf/isomorphic/system/modules/ISC_FileLoader.js', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8 (.NET CLR 3.5.30729)': Moz (Gecko) with Accept-Encoding header 14:56:20.128 [15103247@qtp-6137085-7] DEBUG c.i.download.Download - request for file: C:\cwsrc\trunk\projects\cwf\web\isomorphic\system\modules\ISC_FileLoader.js 14:56:20.160 [15103247@qtp-6137085-7] DEBUG c.i.download.Download - Expiration for static file: 3600 seconds from download 14:56:20.160 [15103247@qtp-6137085-7] INFO c.i.download.Download - Using gzipped form of request file: C:/cwsrc/trunk/projects/cwf/web/isomorphic/system/modules/ISC_FileLoader.js 14:56:20.160 [15103247@qtp-6137085-7] INFO c.i.download.Download - done streaming: C:/cwsrc/trunk/projects/cwf/web/isomorphic/system/modules/ISC_FileLoader.js 14:56:20.128 [862961@qtp-6137085-3] DEBUG c.i.download.Download - done sending 304 for file: C:\cwsrc\trunk\projects\cwf\web\isomorphic\skins\Enterprise\load_skin.js 14:56:20.160 [862961@qtp-6137085-3] DEBUG c.i.timing.Timing - Request: /cwf/isomorphic/skins/Enterprise/load_skin.js (start->finish): 32ms 14:56:20.160 [862961@qtp-6137085-3] DEBUG c.i.s.RequestContext - Paths for request: Servlet path: '/isomorphic/system/modules' Request URI: '/cwf/isomorphic/system/modules/custom/MaskedTextItem.js' Path Info: '/custom/MaskedTextItem.js' Path Translated: 'C:\cwsrc\trunk\projects\cwf\web\custom\MaskedTextItem.js' Real FileSystem Path: 'C:\cwsrc\trunk\projects\cwf\web\cwf\isomorphic\system\modules\custom\MaskedTextItem.js' 14:56:20.160 [862961@qtp-6137085-3] INFO c.i.s.RequestContext - CGET URL: '/cwf/isomorphic/system/modules/custom/MaskedTextItem.js', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8 (.NET CLR 3.5.30729)': Moz (Gecko) with Accept-Encoding header 14:56:20.160 [862961@qtp-6137085-3] DEBUG c.i.download.Download - request for file: C:\cwsrc\trunk\projects\cwf\web\isomorphic\system\modules\custom\MaskedTextItem.js 14:56:20.128 [21959354@qtp-6137085-5] DEBUG c.i.timing.Timing - Request: /cwf/isomorphic/system/modules/ISC_History.js (start->finish): 140ms 14:56:20.160 [21959354@qtp-6137085-5] DEBUG c.i.s.RequestContext - Paths for request: Servlet path: '/isomorphic/system/modules' Request URI: '/cwf/isomorphic/system/modules/custom/CwButtonItem.js' Path Info: '/custom/CwButtonItem.js' Path Translated: 'C:\cwsrc\trunk\projects\cwf\web\custom\CwButtonItem.js' Real FileSystem Path: 'C:\cwsrc\trunk\projects\cwf\web\cwf\isomorphic\system\modules\custom\CwButtonItem.js' 14:56:20.160 [21959354@qtp-6137085-5] INFO c.i.s.RequestContext - CGET URL: '/cwf/isomorphic/system/modules/custom/CwButtonItem.js', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8 (.NET CLR 3.5.30729)': Moz (Gecko) with Accept-Encoding header 14:56:20.128 [11674406@qtp-6137085-4] INFO c.i.download.Download - Using gzipped form of request file: C:/cwsrc/trunk/projects/cwf/web/isomorphic/system/modules/ISC_Forms.js 14:56:20.160 [21959354@qtp-6137085-5] DEBUG c.i.download.Download - request for file: C:\cwsrc\trunk\projects\cwf\web\isomorphic\system\modules\custom\CwButtonItem.js 14:56:20.160 [862961@qtp-6137085-3] DEBUG c.i.download.Download - Expiration for static file: 3600 seconds from download 14:56:20.160 [15103247@qtp-6137085-7] DEBUG c.i.timing.Timing - Request: /cwf/isomorphic/system/modules/ISC_FileLoader.js (start->finish): 32ms 14:56:20.144 [3006512@qtp-6137085-6] INFO c.i.download.Download - done streaming: C:/cwsrc/trunk/projects/cwf/web/isomorphic/system/modules/ISC_DataBinding.js 14:56:20.238 [3006512@qtp-6137085-6] DEBUG c.i.timing.Timing - Request: /cwf/isomorphic/system/modules/ISC_DataBinding.js (start->finish): 110ms 14:56:20.238 [15103247@qtp-6137085-7] DEBUG c.i.s.RequestContext - Paths for request: Servlet path: '/isomorphic/system/modules' Request URI: '/cwf/isomorphic/system/modules/custom/CwDynamicTable.js' Path Info: '/custom/CwDynamicTable.js' Path Translated: 'C:\cwsrc\trunk\projects\cwf\web\custom\CwDynamicTable.js' Real FileSystem Path: 'C:\cwsrc\trunk\projects\cwf\web\cwf\isomorphic\system\modules\custom\CwDynamicTable.js' 14:56:20.206 [11674406@qtp-6137085-4] INFO c.i.download.Download - done streaming: C:/cwsrc/trunk/projects/cwf/web/isomorphic/system/modules/ISC_Forms.js 14:56:20.191 [21959354@qtp-6137085-5] DEBUG c.i.download.Download - Expiration for static file: 3600 seconds from download 14:56:20.238 [11674406@qtp-6137085-4] DEBUG c.i.timing.Timing - Request: /cwf/isomorphic/system/modules/ISC_Forms.js (start->finish): 172ms 14:56:20.160 [862961@qtp-6137085-3] INFO c.i.download.Download - done streaming: C:/cwsrc/trunk/projects/cwf/web/isomorphic/system/modules/custom/MaskedTextItem.js 14:56:20.253 [862961@qtp-6137085-3] DEBUG c.i.timing.Timing - Request: /cwf/isomorphic/system/modules/custom/MaskedTextItem.js (start->finish): 93ms 14:56:20.238 [21959354@qtp-6137085-5] INFO c.i.download.Download - done streaming: C:/cwsrc/trunk/projects/cwf/web/isomorphic/system/modules/custom/CwButtonItem.js 14:56:20.238 [15103247@qtp-6137085-7] INFO c.i.s.RequestContext - CGET URL: '/cwf/isomorphic/system/modules/custom/CwDynamicTable.js', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8 (.NET CLR 3.5.30729)': Moz (Gecko) with Accept-Encoding header 14:56:20.238 [3006512@qtp-6137085-6] DEBUG c.i.s.RequestContext - Paths for request: Servlet path: '/isomorphic/system/modules' Request URI: '/cwf/isomorphic/system/modules/custom/CwImageItem.js' Path Info: '/custom/CwImageItem.js' Path Translated: 'C:\cwsrc\trunk\projects\cwf\web\custom\CwImageItem.js' Real FileSystem Path: 'C:\cwsrc\trunk\projects\cwf\web\cwf\isomorphic\system\modules\custom\CwImageItem.js' 14:56:20.253 [21959354@qtp-6137085-5] DEBUG c.i.timing.Timing - Request: /cwf/isomorphic/system/modules/custom/CwButtonItem.js (start->finish): 93ms 14:56:20.253 [3006512@qtp-6137085-6] INFO c.i.s.RequestContext - CGET URL: '/cwf/isomorphic/system/modules/custom/CwImageItem.js', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8 (.NET CLR 3.5.30729)': Moz (Gecko) with Accept-Encoding header 14:56:20.253 [15103247@qtp-6137085-7] DEBUG c.i.download.Download - request for file: C:\cwsrc\trunk\projects\cwf\web\isomorphic\system\modules\custom\CwDynamicTable.js 14:56:20.253 [3006512@qtp-6137085-6] DEBUG c.i.download.Download - request for file: C:\cwsrc\trunk\projects\cwf\web\isomorphic\system\modules\custom\CwImageItem.js 14:56:20.253 [15103247@qtp-6137085-7] DEBUG c.i.download.Download - Expiration for static file: 3600 seconds from download 14:56:20.253 [3006512@qtp-6137085-6] DEBUG c.i.download.Download - Expiration for static file: 3600 seconds from download 14:56:20.253 [15103247@qtp-6137085-7] INFO c.i.download.Download - done streaming: C:/cwsrc/trunk/projects/cwf/web/isomorphic/system/modules/custom/CwDynamicTable.js 14:56:20.253 [3006512@qtp-6137085-6] INFO c.i.download.Download - done streaming: C:/cwsrc/trunk/projects/cwf/web/isomorphic/system/modules/custom/CwImageItem.js 14:56:20.269 [15103247@qtp-6137085-7] DEBUG c.i.timing.Timing - Request: /cwf/isomorphic/system/modules/custom/CwDynamicTable.js (start->finish): 31ms 14:56:20.269 [3006512@qtp-6137085-6] DEBUG c.i.timing.Timing - Request: /cwf/isomorphic/system/modules/custom/CwImageItem.js (start->finish): 31ms 14:56:21.238 [862961@qtp-6137085-3] DEBUG c.i.s.RequestContext - Paths for request: Servlet path: '/isomorphic/skins' Request URI: '/cwf/isomorphic/skins/Enterprise/skin_styles.css' Path Info: '/Enterprise/skin_styles.css' Path Translated: 'C:\cwsrc\trunk\projects\cwf\web\Enterprise\skin_styles.css' Real FileSystem Path: 'C:\cwsrc\trunk\projects\cwf\web\cwf\isomorphic\skins\Enterprise\skin_styles.css' 14:56:21.238 [862961@qtp-6137085-3] INFO c.i.s.RequestContext - CGET URL: '/cwf/isomorphic/skins/Enterprise/skin_styles.css', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8 (.NET CLR 3.5.30729)': Moz (Gecko) with Accept-Encoding header 14:56:21.238 [862961@qtp-6137085-3] DEBUG c.i.download.Download - request for file: C:\cwsrc\trunk\projects\cwf\web\isomorphic\skins\Enterprise\skin_styles.css 14:56:21.238 [862961@qtp-6137085-3] INFO c.i.download.Download - Returning 304: Not modified on conditional get of: C:\cwsrc\trunk\projects\cwf\web\isomorphic\skins\Enterprise\skin_styles.css 14:56:21.253 [862961@qtp-6137085-3] DEBUG c.i.download.Download - Expiration for static file: 86400 seconds from download 14:56:21.253 [862961@qtp-6137085-3] DEBUG c.i.download.Download - done sending 304 for file: C:\cwsrc\trunk\projects\cwf\web\isomorphic\skins\Enterprise\skin_styles.css 14:56:21.253 [862961@qtp-6137085-3] DEBUG c.i.timing.Timing - Request: /cwf/isomorphic/skins/Enterprise/skin_styles.css (start->finish): 15ms
Comment
-
The logs show the conditional get sometimes working and sometimes not. We've never seen this in any deployment, the only explanation that seems to fit is that you've got a filter servlet that is modifying the If-Modified-Since header before it reaches the Download servlet.
Actually, one more possibility. What's the Java locale, is it something other than en_us?
Comment
-
We don't have a filter servlet between the Download and the request. And the java locale is en_us. Our web.xml directly sets the FileDownload servlet for handling all files under the \isomorphic\ path. In our own resource servlet, I originally had problems with some files cached and some not. It was due to me reading the resource modified date into milliseconds and comparing with the HttpResponse's If-Modified header, which rounds to the nearest second. Maybe you have the same type of problem with your servlet code? I don't have any other possible theory why it's not working.
Comment
Comment