我已经研究了很多这个主题。但是,如果可以在纯HTML中设置P3P标签,我还有一件事没有得到?就在第一个标签之前。
我试图让iFrame登录解决方案在IE中运行。
我刚刚在PHP,ASP.NET等中找到了代码示例,但在普通HTLM中却没有,如果可能的话。
答案 0 :(得分:1)
我最近在尝试从AWS S3提供静态HTML时遇到了同样的问题。
不幸的是,不可能设置压缩策略而不发送服务器端响应头。
这意味着您无法在静态提供的HTML内容上设置压缩策略。
Section 2.4.2 of the P3P deployment document明确提到这一点(强调我的):
网站只有一种机制可以提供紧凑的政策;它们作为HTTP响应头发送。因此,如果网站无法或不愿意添加HTTP响应标头,则无法使用紧凑策略。
- 醇>
带有http-equiv属性的HTML元素META有时用于模拟将HTTP标头添加到HTML内容的效果。 ...不应使用http-equiv机制发送P3P压缩策略头,因为在客户端处理响应中的cookie之前,该信息可能无法使用。
<meta http-equiv='p3p' content='CP="..."'/>
和<link rel="P3Pv1" href="...">
元素也不能设置压缩策略 - 它必须是响应头。
底线是:
您是否可以发送p3p
响应标题?
是:添加带有相应政策的标题,您就完成了。
否:您运气不佳,无法制定契约政策。
p3p
标头被视为用户定义的密钥,因此只能添加为x-amz-meta-p3p
。
由于x-amz-meta-p3p
!= p3p
,浏览器不会将其接受为正确的标头。
因此,您无法在AWS S3内容上设置压缩策略。