在HTML中设置P3P代码

时间:2014-06-25 13:33:36

标签: html internet-explorer p3p

我已经研究了很多这个主题。但是,如果可以在纯HTML中设置P3P标签,我还有一件事没有得到?就在第一个标签之前。

我试图让iFrame登录解决方案在IE中运行。

我刚刚在PHP,ASP.NET等中找到了代码示例,但在普通HTLM中却没有,如果可能的话。

1 个答案:

答案 0 :(得分:1)

我最近在尝试从AWS S3提供静态HTML时遇到了同样的问题。

不幸的是,不可能设置压缩策略而不发送服务器端响应头。

这意味着您无法在静态提供的HTML内容上设置压缩策略。

Section 2.4.2 of the P3P deployment document明确提到这一点(强调我的):

  
      
  1. 网站只有一种机制可以提供紧凑的政策;它们作为HTTP响应头发送。因此,如果网站无法或不愿意添加HTTP响应标头,则无法使用紧凑策略。

  2.   
  3. 带有http-equiv属性的HTML元素META有时用于模拟将HTTP标头添加到HTML内容的效果。 ...不应使用http-equiv机制发送P3P压缩策略头,因为在客户端处理响应中的cookie之前,该信息可能无法使用。

  4.   

<meta http-equiv='p3p' content='CP="..."'/><link rel="P3Pv1" href="...">元素也不能设置压缩策略 - 它必须是响应头。

底线是:

您是否可以发送p3p响应标题?

  • 是:添加带有相应政策的标题,您就完成了。

  • 否:您运气不佳,无法制定契约政策。

对于Amazon S3:

p3p标头被视为用户定义的密钥,因此只能添加为x-amz-meta-p3p

由于x-amz-meta-p3p!= p3p,浏览器不会将其接受为正确的标头。

因此,您无法在AWS S3内容上设置压缩策略。