Priority of cache-control, expires, x-accel-expires

How does nginx caching handle multiple cache control headers sent from a
backend?

I had a situation where I was sending both expires and cache-control and
it seemed that the order in which they were sent controlled. I solved
that problem by ignoring the expires header.

I thought I recalled that x-accel-expires would override any other
headers regardless of order, but that doesn’t seem to be the case.

Is there a priority, or does order control?

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,219520,219520#msg-219520

Hello!

On Fri, Dec 02, 2011 at 07:05:42PM -0500, brianmercer wrote:

How does nginx caching handle multiple cache control headers sent from a
backend?

I had a situation where I was sending both expires and cache-control and
it seemed that the order in which they were sent controlled. I solved
that problem by ignoring the expires header.

First of the Expires and/or Cache-Control is used.

I thought I recalled that x-accel-expires would override any other
headers regardless of order, but that doesn’t seem to be the case.

X-Accel-Expires will override both Expires and Cache-Control,
regardless of the order.

Maxim D.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs