请问以下会导致两个HTTP请求吗?
var img = new Image();
$(img).attr('src', "<?php echo $image_url; ?>");
$(window).load(function(e){
resetImageSize(img);
td.css('background-image', 'url("<?php echo $image_url; ?>")');
});
$(window).resize(function(e){
resetImageSize(img);
});
function resetImageSize(img){
var wr = $("#wrapper");
var td = $("#wrapper td");
if(img.width > wr.width() || img.height > wr.height()){
td.css('background-size', 'contain');
} else {
td.css('background-size', img.width);
}
}
我怎么知道?请问以下会导致两个HTTP请求吗?
如果你想知道你的应用程序做了多少个http请求,你可以使用web浏览器的开发工具。
与谷歌浏览按F12键,然后转到网络面板
您的浏览器将使用他的缓存的第二个请求,他会告诉你在网络面板的
一种方式的结果字段知道输入了多少个http请求就是查看服务器日志。
只要客户端没有在浏览器上禁用缓存,服务器就应该响应缓存已被用于第二个请求。您可以通过使用Net面板在Firebug中分析您的页面来测试。您应该看到第一个请求的图像下载以及第二个请求的304 Resource Not Modified。
肯定'304'是一个_server side_response,表示缓存的版本仍然合适?这仍然是另一个HTTP请求。如果浏览器决定先发制人地缓存它(基于之前的缓存控制头),那么你不会看到第二个请求。 – Alnitak 2013-04-11 09:09:07
@Alnitak谢谢你的进一步信息,我没有在我的回应中表明这一点。 – 2013-04-11 09:13:28
试试看吧?使用Chrome浏览器中的网络标签查找。 – PhonicUK 2013-04-11 09:06:42