Синтаксис директивы HTTP Cache-Control без кэширования ответа допускает аргумент field-name
.
RFC7234 # 5.2.2.2 говорит:
5.2.2.2. no-cache
Argument syntax:
#field-name
// ...
If the no-cache response directive specifies one or more field-names,
then a cache MAY use the response to satisfy a subsequent request,
subject to any other restrictions on caching.
// ...
В спецификации указано, что директива no-cache
может "указывать [y] одно или несколько имен полей".RFC7230 # 3.2 определяет field-name
как токен.
Кажется, что спецификация не охватывает, как разделять / разделять несколько имен полей.
Как Cache-Control no-cache имена полей разделены / разделены?
Пример без имени поля (наиболее распространенное использование)
Cache-Control: no-cache
Пример с одним именем поля (никогда личновидел это, технически правильно)
Cache-Control: no-cache=foo
Несколько имен полей?
Cache-Control: no-cache=foo,bar
Cache-Control: no-cache=foo,bar
Cache-Control: no-cache=foo, bar
Cache-Control: max-age=60, private, no-cache=foo, bar, min-age=30
Cache-Control: max-age=60, private, no-cache="foo, bar", min-age=30
Для меня только последний приведенный выше пример (в двойных кавычкахno-cache
значение) однозначно.
Какую правильную форму использовать?
Я спрашиваю, так как мне нужно правильно проанализировать произвольные Cache-Control
значения заголовка.