Well, the issue here is that Firefox doesn't even send a conditional request. How did you capture this request?
From that last page: “It is important to specify one of Expires or Cache-Control max-age, and one of Last-Modified or ETag, for all cacheable resources. It is redundant to specify both Expires and Cache-Control: max-age, or to specify both Last-Modified and ETag. ”
And finally, your "max age" is too far in the future: “Do not set it to more than one year in the future, as that violates the RFC guidelines.” (same source)