Details
-
Improvement
-
Status: Accepted
-
Major
-
Resolution: Implemented
-
0.13.0
-
None
-
Mesosphere Sprint 10, Mesosphere Sprint 11
-
2
Description
Static assets served by the Mesos master don't return "Last-Modified" HTTP headers. That means clients receive a 200 status code and re-download assets on every page request even if the assets haven't changed. Because Angular JS does most of the work, the downloading happens only when you navigate to Mesos master in your browser or use the browser's refresh.
Example header for "mesos.css":
HTTP/1.1 200 OK
Date: Thu, 26 Sep 2013 17:18:52 GMT
Content-Length: 1670
Content-Type: text/css
Clients sometimes use the "Date" header for the same effect as "Last-Modified", but the date is always the time of the response from the server, i.e. it changes on every request and makes the assets look new every time.
The "Last-Modified" header should be added and should be the last modified time of the file. On subsequent requests for the same files, the master should return 304 responses with no content rather than 200 with the full files. It could save clients a lot of download time since Mesos assets are rather heavyweight.