title: Why does chrome respect the cache-control header for some resources, but does not for others?
body: <p>I have an AJAX application with the following setup:</p>
  
  <ul>
  <li>Dynamic content is served by a node.js server from localhost:8000</li>
  <li>Static content is served by a jetty server from localhost:8080</li>
  </ul>
  
  <p>There are two kinds of dynamic content:</p>
  
  <ul>
  <li>Truly dynamic content based on result of SQL queries</li>
  <li>The result of the combo handler, which concatenates files. In effect this content never changes, so it may be considered as static too.</li>
  </ul>
  
  <p>I do the following steps:</p>
  
  <ol>
  <li>Clear the chrome browsing cache (Settings -> Clear browsing data ... -> Empty the cache)</li>
  <li>Refresh the application </li>
  <li>Refresh the application </li>
  </ol>
  
  <p>The static content as well as the one produced by the combo handler all have the <strong>cache-control</strong> header and the latter also has the <strong>expires</strong> header.</p>
  
  <p>I expected that the first refresh will load all resources, but the second just the truly dynamic content. And even then, nothing would be returned, since no content is modified.</p>
  
  <p>In reality, the browser loads more resources, then it should.</p>
  
  <p>Please, find below a summary of the requests made by the browser after the first refresh (the combo urls are very long, so I truncated them for the sake of clarity):</p>
  
  <pre><code>#   Result  Protocol    Host            URL                                                                                             Body    Caching                                                         Content-Type                            Process
  1   200     HTTP        localhost:8000  /                                                                                               14,348                                                                  text/html; charset=utf-8                chrome:3852         
  2   200     HTTP        localhost:8000  /combo?yui/cssreset/cssreset-min.css&amp;yui/cssfonts/cssfonts-min.css                              638     public,max-age=31536000; Expires: Fri, 16 Jan 2015 02:15:49 GMT text/css; charset=utf-8                 chrome:3852         
  3   200     HTTP        localhost:8080  /if/admin.min.css                                                                               22,176  public,max-age=31536000                                         text/css                                chrome:3852         
  4   200     HTTP        localhost:8080  /yui/yui/yui-min.js                                                                             25,586  public,max-age=31536000                                         application/javascript                  chrome:3852         
  5   200     HTTP        localhost:8080  /if/admin.min.js                                                                                37,889  public,max-age=31536000                                         application/javascript                  chrome:3852         
  6   200     HTTP        localhost:8000  /combo?yui/cssgrids/cssgrids-min.css&amp;yui/widget-base/assets/skins/sam/widget-base.css&amp;...       6,223   public,max-age=31536000; Expires: Fri, 16 Jan 2015 02:15:49 GMT text/css; charset=utf-8                 chrome:3852         
  7   200     HTTP        localhost:8000  /combo?yui/oop/oop-min.js&amp;yui/attribute-core/attribute-core-min.js&amp;...                          97,019  public,max-age=31536000; Expires: Fri, 16 Jan 2015 02:15:49 GMT application/javascript; charset=utf-8   chrome:3852         
  8   200     HTTP        localhost:8000  /combo?yui/dataschema-json/dataschema-json-min.js&amp;yui/dataschema-xml/dataschema-xml-min.js&amp;...  46,248  public,max-age=31536000; Expires: Fri, 16 Jan 2015 02:15:50 GMT application/javascript; charset=utf-8   chrome:3852         
  9   200     HTTP        localhost:8000  /combo?yui-gallery/gallery-querybuilder/assets/skins/sam/gallery-querybuilder.css&amp;...           872     public,max-age=31536000; Expires: Fri, 16 Jan 2015 02:15:51 GMT text/css; charset=utf-8                 chrome:3852         
  10  200     HTTP        localhost:8000  /combo?yui-gallery/gallery-formmgr/gallery-formmgr-min.js&amp;...                                   4,627   public,max-age=31536000; Expires: Fri, 16 Jan 2015 02:15:51 GMT application/javascript; charset=utf-8   chrome:3852         
  11  200     HTTP        localhost:8000  /combo?yui-gallery/gallery-node-optimizations/gallery-node-optimizations-min.js&amp;...             2,269   public,max-age=31536000; Expires: Fri, 16 Jan 2015 02:15:51 GMT application/javascript; charset=utf-8   chrome:3852         
  12  200     HTTP        localhost:8000  /combo?yui/substitute/substitute-min.js                                                         1,006   public,max-age=31536000; Expires: Fri, 16 Jan 2015 02:15:51 GMT application/javascript; charset=utf-8   chrome:3852         
  13  200     HTTP        localhost:8000  /api/context                                                                                    81,238                                                                  application/json; charset=utf-8         chrome:3852         
  14  200     HTTP        localhost:8080  /yui/assets/skins/sam/sprite.png                                                                2,913   public,max-age=31536000                                         image/png                               chrome:3852         
  15  200     HTTP        localhost:8080  /yui/node-menunav/assets/skins/sam/horizontal-menu-submenu-indicator.png                        157     public,max-age=31536000                                         image/png                               chrome:3852         
  </code></pre>
  
  <p>Notes:</p>
  
  <ul>
  <li>Requests 1 and 13 yield truly dynamic content - 1 is a jade template rendered as html and 13 is a result of an SQL query</li>
  <li>Requests 3,4,5,14 and 15 yield static content (notice the port number is 8080)</li>
  <li>The rest of the requests are combo requests - dynamic de jure, but static de facto.</li>
  </ul>
  
  <p>Now here is how this summary looks like after the second refresh:</p>
  
  <pre><code>#   Result  Protocol    Host            URL                                                                                             Body    Caching Content-Type                                                Process
  1   304     HTTP        localhost:8000  /                                                                                               0                                                                           chrome:3852         
  2   304     HTTP        localhost:8000  /combo?yui/cssreset/cssreset-min.css&amp;yui/cssfonts/cssfonts-min.css                              0       public,max-age=31536000; Expires: Fri, 16 Jan 2015 02:38:55 GMT     chrome:3852         
  3   304     HTTP        localhost:8080  /if/admin.min.css                                                                               0                                                                           chrome:3852         
  4   304     HTTP        localhost:8080  /yui/yui/yui-min.js                                                                             0                                                                           chrome:3852         
  5   304     HTTP        localhost:8080  /if/admin.min.js                                                                                0                                                                           chrome:3852         
  6   304     HTTP        localhost:8000  /combo?yui/cssgrids/cssgrids-min.css&amp;yui/widget-base/assets/skins/sam/widget-base.css&amp;...       0       public,max-age=31536000; Expires: Fri, 16 Jan 2015 02:38:55 GMT     chrome:3852         
  7   304     HTTP        localhost:8000  /combo?yui/oop/oop-min.js&amp;yui/attribute-core/attribute-core-min.js&amp;...                          0       public,max-age=31536000; Expires: Fri, 16 Jan 2015 02:38:55 GMT     chrome:3852         
  8   304     HTTP        localhost:8000  /combo?yui/dataschema-json/dataschema-json-min.js&amp;yui/dataschema-xml/dataschema-xml-min.js&amp;...  0       public,max-age=31536000; Expires: Fri, 16 Jan 2015 02:38:56 GMT     chrome:3852         
  9   304     HTTP        localhost:8000  /api/context                                                                                    0                                                                           chrome:3852         
  </code></pre>
  
  <p>Notice, that the URLs of the requests 9 - 12,14 and 15 from the first summary are absent from the second summary - the browser caches them. However, why doesn't the browser also cache the requests 2 - 8 (from the first summary), which appear to have identical qualities as the cached ones?</p>
  
  <p><strong>Appendix A</strong></p>
  
  <p>Please, find below the complete headers of all the requests and responses following the first refresh (I used a new session, so the dates are different from the brief summary given above):</p>
  
  <pre><code>GET / HTTP/1.1
  Host: localhost:8000
  Connection: keep-alive
  Cache-Control: max-age=0
  Authorization: Basic YWRtaW46MTIz
  Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
  User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  
  HTTP/1.1 200 OK
  X-Powered-By: Express
  Access-Control-Allow-Origin: *
  Access-Control-Allow-Methods: GET,PUT,POST,DELETE,OPTIONS
  Access-Control-Allow-Headers: Content-Type, Authorization, Content-Length, X-Requested-With
  Vary: Accept-Encoding
  Content-Type: text/html; charset=utf-8
  ETag: "-1836563736"
  Content-Encoding: gzip
  Date: Thu, 16 Jan 2014 02:53:55 GMT
  Connection: keep-alive
  Transfer-Encoding: chunked
  
  ---
  GET /combo?yui/cssreset/cssreset-min.css&amp;yui/cssfonts/cssfonts-min.css HTTP/1.1
  Host: localhost:8000
  Connection: keep-alive
  Cache-Control: max-age=0
  Authorization: Basic YWRtaW46MTIz
  Accept: text/css,*/*;q=0.1
  User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
  Referer: http://localhost:8000/
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  
  HTTP/1.1 200 OK
  X-Powered-By: Express
  Access-Control-Allow-Origin: *
  Access-Control-Allow-Methods: GET,PUT,POST,DELETE,OPTIONS
  Access-Control-Allow-Headers: Content-Type, Authorization, Content-Length, X-Requested-With
  Vary: Accept-Encoding
  Last-Modified: Tue, 23 Apr 2013 23:46:18 GMT
  Cache-Control: public,max-age=31536000
  Expires: Fri, 16 Jan 2015 02:53:55 GMT
  Content-Type: text/css; charset=utf-8
  ETag: "-1463284566"
  Content-Encoding: gzip
  Date: Thu, 16 Jan 2014 02:53:55 GMT
  Connection: keep-alive
  Transfer-Encoding: chunked
  
  ---
  GET /yui/yui/yui-min.js HTTP/1.1
  Host: localhost:8080
  Connection: keep-alive
  Cache-Control: max-age=0
  Accept: */*
  User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
  Referer: http://localhost:8000/
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  
  HTTP/1.1 200 OK
  Vary: Accept-Encoding
  Content-Encoding: gzip
  Content-Type: application/javascript
  Accept-Ranges: bytes
  Cache-Control: public,max-age=31536000
  Last-Modified: Tue, 14 Jan 2014 11:59:00 GMT
  ETag: W/"4gIxoOsipQY4gIw4Hu8s3Y"
  Content-Length: 25586
  Server: Jetty(9.1.0.v20131115)
  
  ---
  GET /if/admin.min.css HTTP/1.1
  Host: localhost:8080
  Connection: keep-alive
  Cache-Control: max-age=0
  Accept: text/css,*/*;q=0.1
  User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
  Referer: http://localhost:8000/
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  
  HTTP/1.1 200 OK
  Vary: Accept-Encoding
  Content-Encoding: gzip
  Content-Type: text/css
  Accept-Ranges: bytes
  Cache-Control: public,max-age=31536000
  Last-Modified: Tue, 14 Jan 2014 11:59:00 GMT
  ETag: W/"vSW0rAEe/b8vSW17JGA3h4"
  Content-Length: 22176
  Server: Jetty(9.1.0.v20131115)
  
  ---
  GET /if/admin.min.js HTTP/1.1
  Host: localhost:8080
  Connection: keep-alive
  Cache-Control: max-age=0
  Accept: */*
  User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
  Referer: http://localhost:8000/
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  
  HTTP/1.1 200 OK
  Vary: Accept-Encoding
  Content-Encoding: gzip
  Content-Type: application/javascript
  Accept-Ranges: bytes
  Cache-Control: public,max-age=31536000
  Last-Modified: Tue, 14 Jan 2014 11:59:00 GMT
  ETag: W/"7VPNTHzTc387VPMDOxNk7k"
  Content-Length: 37889
  Server: Jetty(9.1.0.v20131115)
  
  ---
  GET /combo?yui/cssgrids/cssgrids-min.css&amp;yui/widget-base/assets/skins/sam/widget-base.css&amp;... HTTP/1.1
  Host: localhost:8000
  Connection: keep-alive
  Cache-Control: max-age=0
  Authorization: Basic YWRtaW46MTIz
  Accept: text/css,*/*;q=0.1
  User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
  Referer: http://localhost:8000/
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  
  HTTP/1.1 200 OK
  X-Powered-By: Express
  Access-Control-Allow-Origin: *
  Access-Control-Allow-Methods: GET,PUT,POST,DELETE,OPTIONS
  Access-Control-Allow-Headers: Content-Type, Authorization, Content-Length, X-Requested-With
  Vary: Accept-Encoding
  Last-Modified: Tue, 23 Apr 2013 23:46:22 GMT
  Cache-Control: public,max-age=31536000
  Expires: Fri, 16 Jan 2015 02:53:55 GMT
  Content-Type: text/css; charset=utf-8
  ETag: "1986623550"
  Content-Encoding: gzip
  Date: Thu, 16 Jan 2014 02:53:55 GMT
  Connection: keep-alive
  Transfer-Encoding: chunked
  
  ---
  GET /combo?yui/oop/oop-min.js&amp;yui/attribute-core/attribute-core-min.js&amp;... HTTP/1.1
  Host: localhost:8000
  Connection: keep-alive
  Cache-Control: max-age=0
  Authorization: Basic YWRtaW46MTIz
  Accept: */*
  User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
  Referer: http://localhost:8000/
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  
  HTTP/1.1 200 OK
  X-Powered-By: Express
  Access-Control-Allow-Origin: *
  Access-Control-Allow-Methods: GET,PUT,POST,DELETE,OPTIONS
  Access-Control-Allow-Headers: Content-Type, Authorization, Content-Length, X-Requested-With
  Vary: Accept-Encoding
  Last-Modified: Thu, 02 May 2013 22:59:53 GMT
  Cache-Control: public,max-age=31536000
  Expires: Fri, 16 Jan 2015 02:53:55 GMT
  Content-Type: application/javascript; charset=utf-8
  ETag: "1918884200"
  Content-Encoding: gzip
  Date: Thu, 16 Jan 2014 02:53:55 GMT
  Connection: keep-alive
  Transfer-Encoding: chunked
  
  ---
  GET /combo?yui/dataschema-json/dataschema-json-min.js&amp;yui/dataschema-xml/dataschema-xml-min.js&amp;... HTTP/1.1
  Host: localhost:8000
  Connection: keep-alive
  Cache-Control: max-age=0
  Authorization: Basic YWRtaW46MTIz
  Accept: */*
  User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
  Referer: http://localhost:8000/
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  
  HTTP/1.1 200 OK
  X-Powered-By: Express
  Access-Control-Allow-Origin: *
  Access-Control-Allow-Methods: GET,PUT,POST,DELETE,OPTIONS
  Access-Control-Allow-Headers: Content-Type, Authorization, Content-Length, X-Requested-With
  Vary: Accept-Encoding
  Last-Modified: Tue, 23 Apr 2013 23:46:24 GMT
  Cache-Control: public,max-age=31536000
  Expires: Fri, 16 Jan 2015 02:53:56 GMT
  Content-Type: application/javascript; charset=utf-8
  ETag: "1381642784"
  Content-Encoding: gzip
  Date: Thu, 16 Jan 2014 02:53:56 GMT
  Connection: keep-alive
  Transfer-Encoding: chunked
  
  ---
  GET /combo?yui-gallery/gallery-querybuilder/assets/skins/sam/gallery-querybuilder.css&amp;... HTTP/1.1
  Host: localhost:8000
  Connection: keep-alive
  Authorization: Basic YWRtaW46MTIz
  Accept: text/css,*/*;q=0.1
  User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
  Referer: http://localhost:8000/
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  
  HTTP/1.1 200 OK
  X-Powered-By: Express
  Access-Control-Allow-Origin: *
  Access-Control-Allow-Methods: GET,PUT,POST,DELETE,OPTIONS
  Access-Control-Allow-Headers: Content-Type, Authorization, Content-Length, X-Requested-With
  Vary: Accept-Encoding
  Last-Modified: Thu, 02 May 2013 22:59:53 GMT
  Cache-Control: public,max-age=31536000
  Expires: Fri, 16 Jan 2015 02:53:56 GMT
  Content-Type: text/css; charset=utf-8
  Content-Length: 872
  Date: Thu, 16 Jan 2014 02:53:56 GMT
  Connection: keep-alive
  
  ---
  GET /combo?yui-gallery/gallery-formmgr/gallery-formmgr-min.js&amp;yui-gallery/gallery-overlay-extras/gallery-overlay-extras-min.js HTTP/1.1
  Host: localhost:8000
  Connection: keep-alive
  Authorization: Basic YWRtaW46MTIz
  Accept: */*
  User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
  Referer: http://localhost:8000/
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  
  HTTP/1.1 200 OK
  X-Powered-By: Express
  Access-Control-Allow-Origin: *
  Access-Control-Allow-Methods: GET,PUT,POST,DELETE,OPTIONS
  Access-Control-Allow-Headers: Content-Type, Authorization, Content-Length, X-Requested-With
  Vary: Accept-Encoding
  Last-Modified: Thu, 02 May 2013 22:59:53 GMT
  Cache-Control: public,max-age=31536000
  Expires: Fri, 16 Jan 2015 02:53:56 GMT
  Content-Type: application/javascript; charset=utf-8
  ETag: "264489472"
  Content-Encoding: gzip
  Date: Thu, 16 Jan 2014 02:53:56 GMT
  Connection: keep-alive
  Transfer-Encoding: chunked
  
  ---
  GET /combo?yui-gallery/gallery-node-optimizations/gallery-node-optimizations-min.js&amp;... HTTP/1.1
  Host: localhost:8000
  Connection: keep-alive
  Authorization: Basic YWRtaW46MTIz
  Accept: */*
  User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
  Referer: http://localhost:8000/
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  
  HTTP/1.1 200 OK
  X-Powered-By: Express
  Access-Control-Allow-Origin: *
  Access-Control-Allow-Methods: GET,PUT,POST,DELETE,OPTIONS
  Access-Control-Allow-Headers: Content-Type, Authorization, Content-Length, X-Requested-With
  Vary: Accept-Encoding
  Last-Modified: Thu, 02 May 2013 22:59:53 GMT
  Cache-Control: public,max-age=31536000
  Expires: Fri, 16 Jan 2015 02:53:56 GMT
  Content-Type: application/javascript; charset=utf-8
  ETag: "946735146"
  Content-Encoding: gzip
  Date: Thu, 16 Jan 2014 02:53:56 GMT
  Connection: keep-alive
  Transfer-Encoding: chunked
  
  ---
  GET /combo?yui/substitute/substitute-min.js HTTP/1.1
  Host: localhost:8000
  Connection: keep-alive
  Authorization: Basic YWRtaW46MTIz
  Accept: */*
  User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
  Referer: http://localhost:8000/
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  
  HTTP/1.1 200 OK
  X-Powered-By: Express
  Access-Control-Allow-Origin: *
  Access-Control-Allow-Methods: GET,PUT,POST,DELETE,OPTIONS
  Access-Control-Allow-Headers: Content-Type, Authorization, Content-Length, X-Requested-With
  Vary: Accept-Encoding
  Last-Modified: Tue, 23 Apr 2013 23:46:22 GMT
  Cache-Control: public,max-age=31536000
  Expires: Fri, 16 Jan 2015 02:53:56 GMT
  Content-Type: application/javascript; charset=utf-8
  Content-Length: 1006
  Date: Thu, 16 Jan 2014 02:53:56 GMT
  Connection: keep-alive
  
  ---
  GET /api/context HTTP/1.1
  Host: localhost:8000
  Connection: keep-alive
  Authorization: Basic YWRtaW46MTIz
  User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
  X-Requested-With: XMLHttpRequest
  Accept: */*
  Referer: http://localhost:8000/
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  
  HTTP/1.1 200 OK
  X-Powered-By: Express
  Access-Control-Allow-Origin: *
  Access-Control-Allow-Methods: GET,PUT,POST,DELETE,OPTIONS
  Access-Control-Allow-Headers: Content-Type, Authorization, Content-Length, X-Requested-With
  Vary: Accept-Encoding
  Content-Type: application/json; charset=utf-8
  ETag: "1217632044"
  Content-Encoding: gzip
  Date: Thu, 16 Jan 2014 02:53:56 GMT
  Connection: keep-alive
  Transfer-Encoding: chunked
  
  ---
  GET /yui/assets/skins/sam/sprite.png HTTP/1.1
  Host: localhost:8080
  Connection: keep-alive
  Accept: image/webp,*/*;q=0.8
  User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
  Referer: http://localhost:8000/
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  
  HTTP/1.1 200 OK
  Accept-Ranges: bytes
  Cache-Control: public,max-age=31536000
  Content-Type: image/png
  Last-Modified: Tue, 23 Apr 2013 23:46:18 GMT
  ETag: W/"oHo6+Hf6zcMoHo7xE6wr7I"
  Content-Length: 2913
  Server: Jetty(9.1.0.v20131115)
  
  ---
  GET /yui/node-menunav/assets/skins/sam/horizontal-menu-submenu-indicator.png HTTP/1.1
  Host: localhost:8080
  Connection: keep-alive
  Accept: image/webp,*/*;q=0.8
  User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
  Referer: http://localhost:8000/
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  
  HTTP/1.1 200 OK
  Accept-Ranges: bytes
  Cache-Control: public,max-age=31536000
  Content-Type: image/png
  Last-Modified: Tue, 23 Apr 2013 23:46:20 GMT
  ETag: W/"jvhF7Fl3QdUjvhE0GA9Mag"
  Content-Length: 157
  Server: Jetty(9.1.0.v20131115)
  
  ---
  </code></pre>
  
  <p><strong>Appendix B</strong></p>
  
  <p>Please, find below the complete headers of all the requests and responses following the second refresh (I used a new session, so the dates are different from the brief summary given above):</p>
  
  <pre><code>GET / HTTP/1.1
  Host: localhost:8000
  Connection: keep-alive
  Cache-Control: max-age=0
  Authorization: Basic YWRtaW46MTIz
  Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
  User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  If-None-Match: "-1836563736"
  
  HTTP/1.1 304 Not Modified
  X-Powered-By: Express
  Access-Control-Allow-Origin: *
  Access-Control-Allow-Methods: GET,PUT,POST,DELETE,OPTIONS
  Access-Control-Allow-Headers: Content-Type, Authorization, Content-Length, X-Requested-With
  Vary: Accept-Encoding
  ETag: "-1836563736"
  Date: Thu, 16 Jan 2014 03:03:44 GMT
  Connection: keep-alive
  
  ---
  GET /combo?yui/cssreset/cssreset-min.css&amp;yui/cssfonts/cssfonts-min.css HTTP/1.1
  Host: localhost:8000
  Connection: keep-alive
  Cache-Control: max-age=0
  Authorization: Basic YWRtaW46MTIz
  Accept: text/css,*/*;q=0.1
  If-None-Match: "-1463284566"
  If-Modified-Since: Tue, 23 Apr 2013 23:46:18 GMT
  User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
  Referer: http://localhost:8000/
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  
  HTTP/1.1 304 Not Modified
  X-Powered-By: Express
  Access-Control-Allow-Origin: *
  Access-Control-Allow-Methods: GET,PUT,POST,DELETE,OPTIONS
  Access-Control-Allow-Headers: Content-Type, Authorization, Content-Length, X-Requested-With
  Vary: Accept-Encoding
  Last-Modified: Tue, 23 Apr 2013 23:46:18 GMT
  Cache-Control: public,max-age=31536000
  Expires: Fri, 16 Jan 2015 03:03:44 GMT
  ETag: "-1463284566"
  Date: Thu, 16 Jan 2014 03:03:44 GMT
  Connection: keep-alive
  
  ---
  GET /if/admin.min.css HTTP/1.1
  Host: localhost:8080
  Connection: keep-alive
  Cache-Control: max-age=0
  Accept: text/css,*/*;q=0.1
  If-None-Match: W/"vSW0rAEe/b8vSW17JGA3h4"
  If-Modified-Since: Tue, 14 Jan 2014 11:59:00 GMT
  User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
  Referer: http://localhost:8000/
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  
  HTTP/1.1 304 Not Modified
  Vary: Accept-Encoding
  ETag: W/"vSW0rAEe/b8vSW17JGA3h4"
  Server: Jetty(9.1.0.v20131115)
  
  ---
  GET /yui/yui/yui-min.js HTTP/1.1
  Host: localhost:8080
  Connection: keep-alive
  Cache-Control: max-age=0
  Accept: */*
  If-None-Match: W/"4gIxoOsipQY4gIw4Hu8s3Y"
  If-Modified-Since: Tue, 14 Jan 2014 11:59:00 GMT
  User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
  Referer: http://localhost:8000/
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  
  HTTP/1.1 304 Not Modified
  Vary: Accept-Encoding
  ETag: W/"4gIxoOsipQY4gIw4Hu8s3Y"
  Server: Jetty(9.1.0.v20131115)
  
  ---
  GET /if/admin.min.js HTTP/1.1
  Host: localhost:8080
  Connection: keep-alive
  Cache-Control: max-age=0
  Accept: */*
  If-None-Match: W/"7VPNTHzTc387VPMDOxNk7k"
  If-Modified-Since: Tue, 14 Jan 2014 11:59:00 GMT
  User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
  Referer: http://localhost:8000/
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  
  HTTP/1.1 304 Not Modified
  Vary: Accept-Encoding
  ETag: W/"7VPNTHzTc387VPMDOxNk7k"
  Server: Jetty(9.1.0.v20131115)
  
  ---
  GET /combo?yui/cssgrids/cssgrids-min.css&amp;yui/widget-base/assets/skins/sam/widget-base.css&amp;... HTTP/1.1
  Host: localhost:8000
  Connection: keep-alive
  Cache-Control: max-age=0
  Authorization: Basic YWRtaW46MTIz
  Accept: text/css,*/*;q=0.1
  If-None-Match: "1986623550"
  If-Modified-Since: Tue, 23 Apr 2013 23:46:22 GMT
  User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
  Referer: http://localhost:8000/
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  
  HTTP/1.1 304 Not Modified
  X-Powered-By: Express
  Access-Control-Allow-Origin: *
  Access-Control-Allow-Methods: GET,PUT,POST,DELETE,OPTIONS
  Access-Control-Allow-Headers: Content-Type, Authorization, Content-Length, X-Requested-With
  Vary: Accept-Encoding
  Last-Modified: Tue, 23 Apr 2013 23:46:22 GMT
  Cache-Control: public,max-age=31536000
  Expires: Fri, 16 Jan 2015 03:03:44 GMT
  ETag: "1986623550"
  Date: Thu, 16 Jan 2014 03:03:44 GMT
  Connection: keep-alive
  
  ---
  GET /combo?yui/oop/oop-min.js&amp;yui/attribute-core/attribute-core-min.js&amp;... HTTP/1.1
  Host: localhost:8000
  Connection: keep-alive
  Cache-Control: max-age=0
  Authorization: Basic YWRtaW46MTIz
  Accept: */*
  If-None-Match: "1918884200"
  If-Modified-Since: Thu, 02 May 2013 22:59:53 GMT
  User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
  Referer: http://localhost:8000/
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  
  HTTP/1.1 304 Not Modified
  X-Powered-By: Express
  Access-Control-Allow-Origin: *
  Access-Control-Allow-Methods: GET,PUT,POST,DELETE,OPTIONS
  Access-Control-Allow-Headers: Content-Type, Authorization, Content-Length, X-Requested-With
  Vary: Accept-Encoding
  Last-Modified: Thu, 02 May 2013 22:59:53 GMT
  Cache-Control: public,max-age=31536000
  Expires: Fri, 16 Jan 2015 03:03:44 GMT
  ETag: "1918884200"
  Date: Thu, 16 Jan 2014 03:03:44 GMT
  Connection: keep-alive
  
  ---
  GET /combo?yui/dataschema-json/dataschema-json-min.js&amp;yui/dataschema-xml/dataschema-xml-min.js&amp;... HTTP/1.1
  Host: localhost:8000
  Connection: keep-alive
  Cache-Control: max-age=0
  Authorization: Basic YWRtaW46MTIz
  Accept: */*
  If-None-Match: "1381642784"
  If-Modified-Since: Tue, 23 Apr 2013 23:46:24 GMT
  User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
  Referer: http://localhost:8000/
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  
  HTTP/1.1 304 Not Modified
  X-Powered-By: Express
  Access-Control-Allow-Origin: *
  Access-Control-Allow-Methods: GET,PUT,POST,DELETE,OPTIONS
  Access-Control-Allow-Headers: Content-Type, Authorization, Content-Length, X-Requested-With
  Vary: Accept-Encoding
  Last-Modified: Tue, 23 Apr 2013 23:46:24 GMT
  Cache-Control: public,max-age=31536000
  Expires: Fri, 16 Jan 2015 03:03:45 GMT
  ETag: "1381642784"
  Date: Thu, 16 Jan 2014 03:03:45 GMT
  Connection: keep-alive
  
  ---
  GET /api/context HTTP/1.1
  Host: localhost:8000
  Connection: keep-alive
  Authorization: Basic YWRtaW46MTIz
  User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
  X-Requested-With: XMLHttpRequest
  Accept: */*
  Referer: http://localhost:8000/
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  If-None-Match: "1217632044"
  
  HTTP/1.1 304 Not Modified
  X-Powered-By: Express
  Access-Control-Allow-Origin: *
  Access-Control-Allow-Methods: GET,PUT,POST,DELETE,OPTIONS
  Access-Control-Allow-Headers: Content-Type, Authorization, Content-Length, X-Requested-With
  Vary: Accept-Encoding
  ETag: "1217632044"
  Date: Thu, 16 Jan 2014 03:03:46 GMT
  Connection: keep-alive
  
  ---
  </code></pre>
  
  <p><strong>EDIT</strong></p>
  
  <p>The reason I mention Chrome, is because this is the browser I am using. Other browsers may behave differently, right now I am specifically interested in Chrome.</p>