金狐

狐狸

管理员

贴子 139000

精华 13

积分 77006

信用 11

竞猜 20

魅力 23333

威望 8

现金 91015753 CZB

银行 7484412 CZB

黄金 8888

比特币 888

注册时间 2003-08-18

发表于:2019-03-01 15:03:17   |  显示全部帖子   |  本帖随机奖励楼主:0 CZB   |  转账至  金狐
你说一下你需要用到这样功能的场景。
对于页面来说,其实没什么预下载,预预渲,浏览器都是分析页面代码,然后向服务器读取相关图片、文件等等。所谓的预下载预渲染,要么用ajax方式异步读取异步刷新,要么就是页面在前部先显示一个信息,在尾部再用相关内容替换掉预显示的信息。所有的技术手段是让浏览者的体验好点而已。
所以具体那个url是预下载、预渲染,只要你分析下页面代码以及抓一下url获取顺序,大概就知道了。
时间、时间、时间
楼主
编辑   |    引用    回帖
关闭    高亮    置顶   |    移动    回收站   |    -6删主题    删主题    |   
金狐

狐狸

管理员

贴子 139000

精华 13

积分 77006

信用 11

竞猜 20

魅力 23333

威望 8

现金 91015753 CZB

银行 7484412 CZB

黄金 8888

比特币 888

注册时间 2003-08-18

发表于:2019-03-01 16:03:05   |  显示全部帖子   |  转账至  金狐
你是想知道你的网页(广告)是否有效显示是吧?
首先明确的说,你是没有办法区分是否预下载,浏览器读取url的时候并没有特别的标志。

通常对于放广告的程序,检查广告是否有效,并不是通过检测url来检测是否有效的。分几个方面说吧:
1.先说一下你举例子的百度和抖音。百度是面向全网络投放的资源,不但是百度网站本身,还在其他很多不同的网站(例如我们)都会投放。而且百度的流量很大是基于web页面的,所以百度的显示端一般是各大浏览器,那么就会像我沙发时说的,不存在预读取的情况,因为各大浏览器是通用的、标准的,只能根据网页代码来读取显示网页。而对于抖音,它是一个APP,也就是说,它什么时候读取网络资源,读取什么资源,什么时候显示,都是抖音本身可以定制的,它不是标准的浏览器。所以会出现你说的情况,它可以预先读取资源,然后再考虑是否显示。
2.还有别的方式也可能使得你的资源读取了,但没有显示。例如浏览器的拦截广告插件,有的插件它是在浏览器读取网页的时候,分析该网页,然后对于它认为是AD的内容,修改它的属性,让他不显示。但对于浏览器来说,它虽然不显示,但仍然是会下载的。也会产生你说的,读取了资源,但不显示。也可能修改AD内容的位置,例如让显示内容的DIV移动到一个不可能出现的正常浏览器显示窗口的地方(x=1000000,y=1000000),这样,用户也会看不见广告内容。
3.更恶劣的是一些专门刷广告的软件,软件本身就是一个定制的浏览器,它会读取广告,并且模拟IP、模拟正常显示,模拟用户点击等等,用户刷广告,它们不但不显示,并且会大量的刷无效的广告。

所以,如果你想知道你那些广告资源是有效到达用户的,通常是用一个分离的JS或FLASH对广告进行检测,有点像网站统计系统的原理。例如,检测广告的位置是否异常,广告上面是否有正常的浏览过程,例如在广告的前面放置一些特殊变量,检测这个变量是否有效,等等等等。。。并且手段不是唯一的,要经常变化,以免被破解,被规避。

说白了,其实这是一种检测与被检测的技术对抗,不能简单地用检测HTTP头就能解决,也不能用简单的方法解决这个问题。
时间、时间、时间
沙发
编辑   |    引用    回帖
关闭    高亮    置顶   |    移动    回收站   |    -6删帖    删帖    |