PHP 冲洗:频率和最佳实践

2022-08-30 18:32:27

我刚刚读完这篇文章:https://developer.yahoo.com/performance/rules.html#flush,并且已经在我的页面加载顶部(头部,css,顶部横幅/搜索/导航)后实现了刷新。

刷新是否会对性能造成任何影响?有没有经常这样做这样的事情?最佳实践是什么?

如果我要为数据使用外部 API,那么在手之前刷新是否有意义,以便用户不会等待该数据返回,并且至少可以在手头之前获取一些数据?


答案 1

所描述的技术看起来不错,但有几个陷阱:

1)PHP脚本开始和结束之间的时间与传输时间相比很小;此外,根据您的来源,这可以为用户节省约0.5秒。这对你来说是一个重要的时间吗?

2) 此技术不适用于 gzip 输出缓冲

3)如果您冲水太频繁,您将在冲水时发送几乎为空的数据包,这实际上可能会增加加载时间(在缓慢,嘈杂的连接上)。

4)一旦你冲洗,你就不能再发送任何标题

5)(小问题)服务器响应将以分块编码出现,这意味着客户端不会事先知道大小(因此在下载文件时不会显示“x%完成”)。

另一方面,如果您希望脚本运行一段时间(20 秒以上),则可能需要发送一些数据(例如空格)以防止浏览器使连接超时。


答案 2

缺点是你不能gzip内容以及冲洗它afaik,所以我一直更喜欢gzip而不是冲洗。

某些版本的 Microsoft Internet Explorer 只有在收到 256 字节的输出后才会开始显示页面,因此您可能需要在刷新之前发送额外的空格,以使这些浏览器显示页面。

这使得这不是一个想法,因为似乎填充更多数据并不是很有用。


推荐