Ответ 1
Я столкнулся с той же проблемой, которая недавно пыталась обслуживать статический HTML из AWS S3.
К сожалению, невозможно установить Compact Policies без отправки серверных заголовков ответов.
Это означает, что вы не можете установить Компактную политику для статического содержимого HTML-контента.
Раздел 2.4.2 документа развертывания P3P явно упоминает это (выделение мое):
Существует только один механизм, позволяющий сайтам обслуживать компактные политики; они отправляются как заголовки ответов HTTP. Таким образом, , если сайт не может или не хочет добавлять заголовки HTTP-ответов, нельзя использовать компактные политики.
HTML-элемент META с атрибутом http-equiv иногда используется для имитации эффекта добавления заголовков HTTP в HTML-контент.... механизм http-equiv не должен использоваться для отправки заголовка P3P compact policy, так как эта информация может быть недоступна клиенту до тех пор, пока он не обработает файлы cookie в ответе.
Элементы <meta http-equiv='p3p' content='CP="..."'/>
и <link rel="P3Pv1" href="...">
также не могут устанавливать Compact Policy - это должен быть заголовок ответа.
В нижней строке указано следующее:
Вы можете отправить заголовок ответа p3p
?
-
Да: добавьте заголовок с соответствующей политикой, и все будет готово.
-
Нет: вам не повезло и вы не можете установить Компактную политику.
Для Amazon S3:
Заголовок p3p
считается определяемым пользователем ключом, поэтому его можно добавить только как x-amz-meta-p3p
.
Так как x-amz-meta-p3p
!= p3p
браузер не примет его как правильный заголовок.
Поэтому вы не можете установить Compact Policy для контента AWS S3.