<?php
echo 'first<br>';
ob_flush();
flush();
file_get_contents("http://ttt.tt");
echo "second";
http://ttt.tt无法访问。所以在浏览器中我们可以看到输出“first”然后等待“30s”/ 每个脚本的最大执行时间 /将输出“second”。
在IE,FF,它工作正常。
但是在chrome中,“first”&amp;&amp; “第二个”将一起输出。
我的英语很糟糕。我不知道你是否理解。帮助!!!
我也试图像这样禁用浏览器的缓存:
header("Cache-Control: no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
但问题仍然存在..
答案 0 :(得分:1)
您无需禁用缓存。这都是关于内容类型编码的。我只是做了:
header('Content-Type: text/html; charset=UTF-8');
最初是:
header('Content-Type: text/html');
......哪些不起作用。指定“ charset = UTF-8 ”会立即强制Chrome呈现分块响应。
答案 1 :(得分:0)
问题可能是“Pragma:no-cache”每次都没有工作。 HTTP规范没有为Pragma响应头设置任何准则。尝试使用“过期”。
如果您需要其他信息,请参阅link to web caching tutorial。
答案 2 :(得分:0)
一种选择是添加X-Content-Type-Options: nosniff
。
有关详细说明,请参见Chunked transfer encoding - browser behavior。