[API命名避坑]图片加载失败
日前网站上线了广告推广栏位页面功能,收到用户反映:
网站首页的广告推广栏位显示空白。
问题排查
服务端检查
接口排查
使用postman和curl请求皆可以正常获取数据,说明服务端正常
客户端排查
在确认服务端没有问题的情况下,进行客户端的排查。
借助谷歌浏览器F12开启开发者工具,选中Network,勾选Preserve log以及Disable cache,资源类型选择All, 刷新页面
发现有些请求状态异常,http请求Status为:blocked:other, 可以基本确认浏览器拦截了http请求,且这些请求正为获取广告栏位图片的接口
浏览器拦截请求原因
发现http请求Status为:blocked:other
用户的浏览器插件中有AdBlock
这些url中都包含有advert关键字
由以上几点可以得出结论:
1. 由于API中包含了advert的敏感关键字,
2. 触发了浏览器插件AdBlock的广告拦截机制,
3. 直接拦截终止http请求,
4. 导致图片数据获取失败,
5. 最终广告栏位留白。
解决方法
接口路由中避免使用ad/advert/advertisement等与广告相关的关键字
排查问题优先从底层排查,由下而上,逐步排查,进而确认问题环节
评论