【发布时间】:2016-10-11 15:54:06
【问题描述】:
我的基本问题是浏览器处理这两个请求的方式不同吗?
<a href='imageGenerator.php?id=1'>Browser Request</a>
对
<img src='imageGenerator.php?id=1' />
两者都即时生成图像流(除非文件已经存在)。但是,图像请求会在通过<img> 标记偶尔完成图像生成之前迅速超时,而其他请求不会。见以下代码:
public function generateThumbnail($url) {
ignore_user_abort(true);
set_time_limit(0);
// [...]
$pub_path = public_path() . "/{$pathToFile}";
if (!\File::exists($pub_path)) {
// PhantomJS to screen cap
$screenCapture = new Capture($url);
$screenCapture->save($pub_path);
}
return response()->file($pub_path);
}
为简洁起见,代码已被缩短,但问题仍然存在,不应该对两个请求进行相对相同的处理吗?
【问题讨论】:
-
你可以自己做一个测试。创建一个测试站点并使用两者(在单独的会话中)来获取图像。在测试期间,您应该运行 Wireshark 来捕获所有数据包。您可能会在 HTTP 标头中看到一些差异。
标签: php request phantomjs httprequest