php - 302 图像在浏览器中重定向速度较慢

标签 php html image redirect browser

我在 WAMP 堆栈上并且有下面一行代码 demo.html

<img src="http://localhost/redirect/demo.php"></img>

demo.php 代码如下

<?php
header("Location: http://localhost/redirect/blah");
exit();
?>

代码运行良好。但内容下载期间的响应时间很长 Response time using IMG tag

当我将 demo.html 更改为使用 script 标签与 img 标签时,在响应时间内没有问题

<script src="http://localhost/redirect/demo.php"></script>

Response time using SCRIPT tag

不确定为什么 IMG 标签会发生这种情况。谁能解释为什么会发生这种情况以及如何避免这种情况?有没有其他方法可以在没有 javascript 解决方案的情况下通过 302 加载 IMG。

注意 - 相信这不是 PHP/WAMP 问题,因为当我直接调用 http://localhost/redirect/demo.php 时,响应时间不会受到影响.相信这与浏览器、它的渲染、它的加载事件有关。

最佳答案

如果我没记错的话,脚本是同步加载的,而图像是异步排队和加载的。

所以我的理解是,如果你使用 script 标签,浏览器会等待加载发送 302 的 http://localhost/redirect/demo.php。这会强制浏览器在加载任何其他内容之前执行 http://localhost/redirect/blah

相反,如果您使用 img 标签,浏览器会执行 http://localhost/redirect/demo.php 并继续加载页面的剩余部分。当 demo.php 返回 302 时,http://localhost/redirect/blah 被添加到要加载的 URL 队列中。因此,加载图像的总体时间更长。

不确定是否可以避免它。在 demo.php 上启用缓存可能有助于后续请求。

关于php - 302 图像在浏览器中重定向速度较慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33386916/

相关文章:

php - joomla 2.5数据库查询结果返回每个值作为字符串数据类型

php - 使用 php 发送 mp3 文件到 telegram

html - 下拉菜单不起作用

javascript - 如何设置 DIV 背景图像 css jquery?

javascript - 取消 HTML onSubmit 事件

Android:无法将@drawable/picture 转换为drawable

android - 使用套接字将图像从 .Net 服务器发送到 Android 客户端

php - 如何为 wordpress WP_QUERY 清理 $_POST?

php - Bootstrap 下拉登录菜单在其他页面上不起作用

image - 带有图像和文本的 Bootstrap 菜单项