一句话:提出 AdJust,让发布者通过事件约束在运行时限制第三方广告的资源占用,缓解网页卡顿并提升加载与渲染体验。
第三方广告与发布者内容混合后会争抢资源,延迟甚至破坏首方内容渲染,动态广告脚本还可能拖慢加载、冻结浏览器。根因是发布者无法控制第三方广告,也无法区分广告与自身内容消耗的资源。作者提出 AdJust,允许发布者对第三方广告相关事件(如 URL 请求、HTML 元素创建和定时器)指定约束,在运行时缓解体验退化并统一广告体验。在 Alexa 前 200 新闻网站实验中,AdJust 能在 36 个站点缓解冻结、61 个站点降低首方内容加载时间、166 个站点优先发布者内容,并在 68 个站点确保顶部广告渲染顺序一致。
Online advertising is the most critical revenue stream for many Internet companies. However, showing ads on websites comes with a price tag. Since website contents and third-party ads are blended together, third-party ads may compete with the publisher contents, delaying or even breaking the rendering of first-party contents. In addition, dynamically including scripts from ad networks all over the world may introduce buggy scripts that slow down page loads and even freeze the browser. The resulting poor usability problems lead to bad user experience and lower profits. The problems caused by such resource abusing ads are originated from two root causes: First, content publishers have no control over third-party ads. Second, publishers cannot differentiate resource consumed by ads from that consumed by their own contents. To address these challenges, we propose an effective technique, AdJust, that allows publishers to specify constraints on events associated with third-party ads (e.g., URL requests, HTML element creations, and timers), so that they can mitigate user experience degradations and enforce consistent ads experience to all users. We report on a series of experiments over the Alexa top 200 news websites. The results point to the efficacy of our proposed techniques: AdJust effectively mitigated degradations that freeze web browsers (on 36 websites), reduced the load time of publisher contents (on 61 websites), prioritized publisher contents (on 166 websites) and ensured consistent rendering orders among top ads (on 68 websites).