1x1单像素图片在网络请求中的作用

【1x1单像素图片在网络请求中的作用】 source 用隐藏的img,通过src的调用后台逻辑有什么好处?
英文术语叫:image beacon在Google 的 Make the Web Faster 的 #Track web traffic in the background 中有提到。
主要应用于只需要向服务器发送数据(日志数据)的场合,且无需服务器有消息体回应。比如收集访问者的统计信息。
一般做法是服务器用一个1x1的gif图片来作为响应,当然这有点浪费服务器资源。因此用header来响应比较合适,目前比较合适的做法是服务器发送"204 No Content",即“服务器成功处理了请求,但不需要返回任何实体内容”。
另外该脚本的位置一般放在页面最后以免阻塞页面渲染,并且一般情况下也不需要append到DOM中。通过它的onerror和onload事件来检测发送状态。
\u0026lt;script type="text/javascript"\u0026gt; var thisPage = location.href; var referringPage = (document.referrer) ? document.referrer : "none"; var beacon = new Image(); beacon.src = "http://www.example.com/logger/beacon.gif?page=" + encodeURI(thisPage) + "\u0026amp;ref=" + encodeURI(referringPage);\u0026lt;/script\u0026gt;这样做和ajax请求的区别在于:1.只能是get请求,因此可发送的数据量有限。2.只关心数据是否发送到服务器,服务器不需要做出消息体响应。并且一般客户端也不需要做出响应。3.实现了跨域。

■网友
是不是1x1image根本不重要,重要的是一个完整的requestresponse过程,这中间能干的事可就太多了。
■网友
跟踪。


    推荐阅读