Where should I set HTTP headers, such as Expires?

2019-06-12 21:02发布

问题:

I want to deploy an app using Sinatra on Phusion Passenger w/ nginx. If I want to set the Expires header on my static content - stylesheets, say - there are appear to be three places where I could accomplish this.

  1. In my Sinatra app, using the API
  2. With Rack middleware
  3. In the server config for my deployment

Which of these methods is the best place for setting HTTP headers?

回答1:

After talking though and answering this question and seeing the comment above, I think I have figured out the answer to my own question.

The whole point of nginx actually removes the first two options.

That leads to Option #3. This is where all the other content config is set, such as gzip compression.