gpt4 book ai didi

javascript - 是否可以使用 headless 浏览器发出服务器端广告请求而不是浏览器内广告请求?

转载 作者:行者123 更新时间:2023-11-30 13:34:40 25 4
gpt4 key购买 nike

这个想法的动机是浏览器广告请求通常非常缓慢并且会阻塞页面呈现,更不用说消耗浏览器 javascript 线程了。如果一个页面加载了多个广告,那就是很多不可靠的,会阻止第三方调用。通过使用事件驱动的 headless 服务器端浏览器,是否可以同时发出这些请求并将广告 Assets 全部传递给浏览器?特别是,这是否适用于 doubleclick,其广告网络经常发出一系列请求,即 document.write 脚本标签,然后获取更多脚本,可能会加载 flash swf,然后请求一些额外的 gif 文件?这听起来有点过分,但广告是魔鬼,如果可以从客户端卸载广告,将极大地提高站点速度,因为服务器解决方案可以并行发出广告请求和处理 javascript。

编辑:回应@dthorpe:

要考虑的所有优点。

至于广告服务延迟,服务器端解决方案应该有所帮助,原因如下:

首先,可以并行发出多个广告请求。虽然有在浏览器中并行加载资源的方法,但我知道没有一个好的解决方案是完全非阻塞的(即在页面渲染和 onload 事件方面),除非你延迟加载你所有的广告。我正在寻找一种在加载页面其余部分的同时以非阻塞方式并行加载广告的方法。

其次,或许更重要的是,加载 doubleclick 广告通常涉及加载多个中间脚本。浏览器中的 Javascript 是单线程的。这直接意味着我页面的 javascript 将阻止 ad-javascript,从而减慢广告印象。广告的 javascript 反过来会阻止我页面的 javascript,从而减慢我的页面速度。我可能有其他第三方电话正在播放,用于跟踪或其他目的。我在页面上也有多个广告,所有这些都有助于减慢页面呈现和 javascript 执行速度。通过将广告加载卸载到服务器,我页面的 javascript 将不会与广告竞争。广告造成的延迟将取决于一个广告(最长的一个),但一个广告的加载行为不会受到其他广告或我的页面的影响,因此理论上应该更快。

目标是将广告与基本页面分离,这样广告就不会阻止页面呈现、页面加载事件,也不会减慢页面速度或彼此减慢速度。只要浏览器内的 javascript 是单线程的,我不知道有任何客户端解决方案可以实现完美的解除关联。当通过 javascript 实现长时间加载的广告时,页面的其余部分必须等待。

我知道各种延迟加载机制,一些涉及 iframe,一些覆盖 document.write 以适应延迟加载,但这些都没有取得令人满意的结果,这纯粹是由于干扰 javascript 执行的串行行为。

我想知道我是否可以在浏览器中使用 java applet 获得服务器端广告加载的好处,并避免您提到的 cookie/预加载情况?由于我们看到双击广告的严重退化,我实际上正在考虑这些不合格的方法。这些广告扼杀页面加载速度的方式真是令人厌恶:)

最佳答案

为了准确地完全代表客户端机器,您的 headless 服务器浏览器需要能够显示驻留在客户端上的广告网络域的浏览器 cookie。这将很困难,因为您的服务器的域名不在广告网络域中,因此客户端浏览器不会为您提供广告网络 cookie。

您可能会在服务器浏览器中捕获广告以代表客户“预加载”它们,但如果没有客户的浏览器 cookie,您将缺乏广告网络严重依赖的连续性和跟踪。广告网络选择显示的广告将基于您的服务器浏览器代表客户查看的页面,而不是客户查看的内容。

此外:如果加载广告内容是阻止客户端浏览器中页面呈现的原因,那么在服务器上呈现相同页面如何加快速度?您的服务器浏览器将遭受与客户端浏览器相同的网络和脚本延迟,客户端仍将坐在那里等待“某事”,但在页面完全加载并在服务器浏览器中处理之前不会显示任何内容,并且转发到客户端浏览器?将问题移至“上游”并不能解决任何问题。

最后:即使您的意图可能是高尚的(改善客户浏览体验),广告网络也很可能会认为您的服务器浏览器广告“预加载器”令人厌恶并且违反了他们的广告网络服务条款,因为它会干扰他们能够跟踪实际客户的浏览事件。

关于javascript - 是否可以使用 headless 浏览器发出服务器端广告请求而不是浏览器内广告请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5360322/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com