如何在静态 PHP 生成的 CSS / JS 文件上取消设置 Cookie?

Posted

技术标签:

【中文标题】如何在静态 PHP 生成的 CSS / JS 文件上取消设置 Cookie?【英文标题】:How to unset Cookies on static PHP generated CSS / JS files? 【发布时间】:2011-07-02 22:59:32 【问题描述】:

在测试我的网站时,我看到了 Cookie score of 81/100 并附有以下评论:

FAILED (Static object with 1 cookies - 36 bytes) - all.css cookie:phpSESSID=3ge12i80ghj5gbb2cs41tr7qj5FAILED (Static object with 1 cookies - 36 bytes) - all.js cookie:PHPSESSID=3ge12i80ghj5gbb2cs41tr7qj50.2 KB total in outbound cookies - potential savings = 0.2 KB

这两个文件实际上都是 PHP 生成的文件,它们将许多其他 css / js 文件合并为一个。

我应该如何取消设置这些统计对象的 cookie? 有没有我可以添加到headers(); 旁边的 php 代码来取消设置这些文件上的 cookie?

建议 = 答案 = 非常感谢!

【问题讨论】:

【参考方案1】:

您似乎在这些脚本中的某处调用session_start

如果您删除它,则不会设置会话 cookie。

【讨论】:

是的,在主 php 文件中。这是否意味着所有加载的文件都会自动得到它?【参考方案2】:

PHPSESSID 将由浏览器随对您当前域的每个请求一起发送。请求什么文件类型(.html、.php、.js、.css 等)并不重要。看到这一点的一个好方法是使用 Firefox 的“Live HTTP Headers”插件。您可以准确查看每个请求发送的内容。

为防止发送 PHPSESSID,您可以从不同的域或可能的子域提供这些文件。理想的解决方案是使用 CDN。不过,我不会担心浏览器会为这些文件发送 PHPSESSID。

出于好奇,您使用什么工具来测试您的网站?

【讨论】:

艾伦的回答是正确的。我是从浏览器而不是服务器的角度来看待这个问题的。

以上是关于如何在静态 PHP 生成的 CSS / JS 文件上取消设置 Cookie?的主要内容,如果未能解决你的问题,请参考以下文章

5)关于CSS和js静态文件引入路径

如何从 Webpack 4 中的页眉/页脚(和 css/js 注入)生成静态页面的 html 模板(lodash 模板不起作用)?

在Google App Engine Standard中配置嵌套的静态文件夹 - PHP环境

页面在引入js,css静态文件的时候怎样加个时间戳

CodeIgniter(3.1.4)框架使用静态文件(js,css)

如何在 pyinstaller 中添加静态(html、css、js 等)文件以创建独立的 exe 文件?