今天打开qq空间的,看到一张“神奇”的图片,从下面的评论中和我的体验感觉就像图片中说的那样:每个人看到的都不一样。处于好奇,就分析了一下。
1、查看源码发现图片的src为http://qzone.dengdongdong.com/do.php?a=3:
2、打开IE的F12 在网络选项卡中点击开始捕获(为什么转用IE不用Chrome,是因为第3步中chrome的body.innerHTML报错了...可能是body没有这个属性吧...先不管它了)
3、打开IE的F12 在脚步 -- 控制台中输入:
document.body.innerHTML = '<img src="http://qzone.dengdongdong.com/do.php?a=3" >';
4、再转到网络选项卡中看,有3次请求:
5、点击第1个url,跳到了详细视图
请求头:
可以看到请求头中包含了Referer,而Referer里面有qq号码。
响应头:
从响应码中可以发现服务器response.sendRedirect到http://qzone.zzbuluo.com/goto.php................这个页面了,并且带上了Referer中的qq号码。
第二次请求:
请求头:
响应头:
我觉得这一次的请求http://qzone.zzbuluo.com/goto.php,它应该是拿到你的qq号码,然后通过腾讯的开放平台API或者其它方式得到了你的QQ头像和昵称。然后生成一张图片。最后response.sendRedirect到生成的图片
第三次请求:
这就是为什么每个人看到的图片不一样了