Cache-Control headers repeated; valid or not? (Nginx)

后端 未结 2 879
遇见更好的自我
遇见更好的自我 2020-12-10 23:45

I\'ve got a resource in my Nginx that is configured like this:

location ~ foo\\.js$ {
    add_header Cache-Control public;
    expires 1d;
}
<
2条回答
  •  生来不讨喜
    2020-12-11 00:40

    Yes, it's valid and equivalent to use multiple Cache-Control headers.

    From the HTTP 1.1 spec:

    Multiple message-header fields with the same field-name MAY be present in a message if and only if the entire field-value for that header field is defined as a comma-separated list [i.e., #(values)]. It MUST be possible to combine the multiple header fields into one "field-name: field-value" pair, without changing the semantics of the message, by appending each subsequent field-value to the first, each separated by a comma.

    It's easy to verify that this provision applies to the Cache-Control header because of how it's defined:

    Cache-Control = "Cache-Control" ":" 1#cache-directive

    To understand how to interpret the line above, see the spec's notational conventions. The 1# means "a comma-separated list of one or more".

提交回复
热议问题