我有一个包含动态js脚本的页面,具体取决于我正在访问的页面.但是,我从一些IE8访问者的日志中得到错误,看起来实际的请求 - url完全被破坏了所提到的脚本.
这是应该取的:
转换为/ sv/5/outlet?partial = filterjs&json = true&viewall
但是,查看我的日志,我看到的内容如下:
/sv/5/outlet?partial=filterjs&json=truepor
它似乎截断了url,并在稍后出现的实际标记中附加了随机内容(事实上,虽然大约在相同的偏移处)
我首先想到它与IE8实现的新XSS过滤器有关,但尝试使用HTTP-header禁用它
X-XSS-Protection: 0
没有成功.
我也无法在自己的机器上重现此错误,但这种情况每天发生几次(在每天约3000次访问的网站上).根据用户代理(NT 5.1,6.0和6.1),这在XP,Vista和Win7上都会发生.
有人认出这种行为吗?
是的,这是Internet Explorer中前瞻下载程序中的一个已知错误,在执行前瞻下载时,它会丢弃页面的4k部分.
这有时意味着页面中资源的URL被剪切并与页面中稍后的其他文本组合,导致请求的URL不正确.
前瞻下载程序仅用于尝试预先填充缓存,当页面中实际需要资源时,将使用正确的URL请求资源,因此用户不会因此而在页面中遇到任何错误.