Google App engine always generates 200 for the url /test.js and test.js is not a static resource, but a url pattern for dynamically generated content. The content will expire after N hours and a fresh content will be generated.
I've tried with Last-Modified, ETag and Cache-Control. None seems to work.
Request
Request URL:http://localhost:8081/test.js Request Method:GET Status Code: 200 OK Accept:*/* Accept-Encoding:gzip,deflate,sdch Accept-Language:en-US,en;q=0.8 Cache-Control:max-age=0 Connection:keep-alive Host:localhost:8081 If-Modified-Since:Fri, 18 Oct 2013 14:10:39 GMT If-None-Match:"1B2M2Y8AsgTpgAmY7PhCfg" Referer:http://localhost:8080/ User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36
Response Headers
cache-control:public, max-age=360000 Content-Length:2 content-type:application/script; charset=utf-8 Date:Fri, 18 Oct 2013 14:10:40 GMT etag:"1B2M2Y8AsgTpgAmY7PhCfg" expires:Tue, 22 Oct 2013 18:10:40 GMT last-modified:Fri, 18 Oct 2013 14:10:40 GMT Server:Development/2.0