為什么通常在發送數據埋點請求的時候使用的是 1x1 像素的透明 gif 圖片?
- 能夠完成整個 HTTP 請求+響應(盡管不需要響應內容)
- 觸發 GET 請求之后不需要獲取和處理數據、服務器也不需要發送數據
- 跨域友好
- 執行過程無阻塞
- 相比 XMLHttpRequest 對象發送 GET 請求,性能上更好
- GIF的最低合法體積最小(最小的BMP文件需要74個字節,PNG需要67個字節,而合法的GIF,只需要43個字節)
參考資料:
SegmentFault 上的回答
Web beacon
Using a Beacon Image for GitHub, Website and Email Analytics
為什么前端監控要用 GIF 打點