有没有人遇到过在chrome中一个图片发送两次请求?
发布于 7 年前 作者 king-king 4481 次浏览 来自 问答

在js中通过document.createElement(“img”)创建一个离屏image,然后赋值一个正确的src,在dev tool的network里看到的是发送一次请求,但是在服务器端以及fiddler抓包会出现有两次的情况,出现比较随机。但是一旦出现,就会连续出现,比较明显。我的测试机器版本是chrome64_56.0.2924.87

9 回复

是不是跨域请求,一个option一个get 或者你的图片过大,浏览器默认用range去拆分读取图片

来自酷炫的 CNodeMD

@MedusaLeee 是跨域的,出现结果很随机,另外图片不大

@MedusaLeee 这个问题和跨域有关?

如果返回内容不是图片格式,可能有的工具会再次请求,所以返回正确的 content-type 和图片内容,哪怕一个 1x1的图

@jpuncle 你这个问题我也考虑到了,我返回的的确不是图片,http的body我没写东西,但是我的content-type是对的。如果因为我返回的不是图片,没内容而重新再次请求的话,那理论上这个问题完全可以100%的复现,可是我现在测试结果是,出现重复请求的情况非常随机,完全没有规律

@king-king content-type 对,但是真实内容不是图片的话,有一些工具预览的时候,预览失败,会重复发,而且可能连续发

@jpuncle 我每次都是没内容的,那不是应该每次都重发吗?可是测试发现chrome上重发的情况比较随机,有时重发有时不重发

@king-king 预览失败才会重发,如果没有触发预览,不会重发。 另外,这个只是我的猜测,说多少都没有用,你写代码验证一下才是正道

以前遇到过这种问题,后来发现有第一个请求是HEAD,第二个才是真正去GET图片

回到顶部