本发明涉及计算机技术领域,尤其涉及一种统计url是否有效的方法、装置、电子设备和存储介质。
背景技术:
统一资源定位符(uniformresourcelocator,url)是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的url,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
搜索引擎营销是一种基于搜索引擎平台的网络营销方式,其通过在搜索引擎投放海量的关键词对网站进行推广,所投放的每个关键词都对应有一个url地址,当搜索到此关键词并点击后,系统会自动跳转到此关键词对应的url地址。而对于url一般有两种情况,一种是这个关键词的链接地址,是期望的一个正确的可访问的地址,即有效url,另一种是访问这个关键词的链接地址后,无法打开或打开了一个不是期望的页面,即无效url。
为了准确的统计所投放的关键词的url是否有效,往往需要人工逐个核对每个关键词的url进行确认,这对于海量的关键词数量来说,需要的时间难以想象。
因此,亟需一种能够解决现有的人工检查方式,费时费力,效率低等问题的统计url是否有效的方法、装置。
技术实现要素:
有鉴于此,本发明实施例提供一种统计url是否有效的方法、装置、电子设备和存储介质,能够快速、高效的实现对于url是否有效的统计。
为实现上述目的,根据本发明的一个方面,提供了一种统计url是否有效的方法,统计应用向服务端发出http请求,所述服务端对每个http请求,执行如下步骤:
判断所述http请求的url是否需要重定向;
若所述http请求的url不需要重定向,则返回第一有效状态码,否则,判断所述http请求的url是否为预定义白名单中的url;
若所述http请求的url不是所述白名单中的url,则返回第一无效状态码,否则返回第二有效状态码。
进一步的,所述第一无效状态码为302状态码或307状态码,所述统计应用利用所述302状态码或307状态码能够将所述url统计为无效。
进一步的,所述第一有效状态码为200状态码,所述统计应用利用所述200状态码能够将所述url统计为有效。
进一步的,所述第二有效状态码定义为308状态码,所述统计应用利用所述308状态码能够将所述url统计为有效。
进一步的,在所述返回第二有效状态码的步骤中还包括:返回重定向地址。
为实现上述目的,根据本发明的其他方面,提供了一种统计url是否有效的装置,统计应用向服务端发出http请求,所述装置设置在所述服务端,所述装置包括:
请求接收模块,用于接收所述统计应用发出的每个http请求;
重定向判断模块,用于判断所述每个http请求的url是否需要重定向;
第一返回模块,用于若所述http请求的url不需要重定向,则返回第一有效状态码;
有效性判断模块,用于若所述http请求的url需要重定向,则判断所述http请求的url是否为预定义白名单中的url;
第二返回模块,用于若所述http请求的url不是所述白名单中的url,则返回第一无效状态码;
第三返回模块,用于若所述http请求的url是所述白名单中的url,则返回第二有效状态码。
进一步的,所述第三返回模块还用于返回重定向地址。
为实现上述目的,根据本发明的其他方面,提供了一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明提供的统计url是否有效的方法。
为实现上述目的,根据本发明的其他方面,提供了一种计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行本发明提供的统计url是否有效的方法。
本发明提供的统计url是否有效的装置,通过对http请求的url进行是否需要重定向的判断,然后对需要进行重定向的url通过预定义的白名单进行二次判断,对于不需要重定向以及属于白名单的url分别返回200和308状态码,对于不属于白名单的需要重定向的url返回302或307状态码,客户端统计应用只需要通过返回的状态码即可实现对于url是否有效的统计,如果返回的值是308或200,则把url统计为有效。如果是302或307,则统计为无效。通过上述方法以及利用本发明新定义的308状态码,可以快速、准确的分辩出有效的url地址,解决了人工核对所带来的效率低、时间长、易遗漏等的问题,节约了人力成本和时间成本,降低人为风险。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本发明实施例提供的统计url是否有效的方法流程图;
图2是本发明实施例提供的统计url是否有效的方法的具体实施示意图;
图3是本发明实施例提供的统计url是否有效的装置的示意图;
图4是根据本发明实施例的统计url是否有效的方法的电子设备的硬件结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本发明实施例提供一种统计url是否有效的方法,如图1和图2所示,该方法包括:步骤101至步骤104。其中,在步骤101中,统计应用向服务端发出http请求。在本发明中,统计应用用来统计投放的关键词所链接的url是否是有效的,统计应用可以设置在客户端,一个url有效是指这个url相对于其关键词来说是期望的一个正确的可访问的地址,反之,一个url无效是指相对于其关键词,这个url无法打开或打开了一个不是期望的页面。在本步骤中,统计应用向服务端发出http请求,即对一个url进行访问,在后续的步骤中,客户端将响应该http请求,并向统计应用返回html文件,使得统计应用可以基于返回的html文件对其发出的http请求的url是否有效进行判断和统计。
服务端对统计应用发送的每个http请求,执行如下步骤102至104。
在步骤102中,判断http请求的url是否需要重定向。重定向即指将该http请求重新定个方向转到其它位置。
进而,在步骤103中,若http请求的url不需要重定向,则返回第一有效状态码,否则,判断http请求的url是否为预定义白名单中的url。服务端接收http请求,并进行分析判断,当http请求的url不需要重定向时,表明该http请求能够直接访问到设置的url上,即该url是有效的,例如,通过在搜索引擎点击关键词能够直接访问到对应关键词设置的网站页面上。这种情况下,服务端通过html文件向统计应用返回第一有效状态码。
其中,第一有效状态码为http状态码,http状态码是用以表示网页服务器http响应状态的3位数字代码。进一步的,在本发明中,第一有效状态码为200状态码,200状态码表示http请求已成功,http请求所希望的响应头或数据体将随此响应返回。在本发明中,在url不需要重定向时,在服务端按照http协议处理该http请求,从而服务端向客户端返回200状态码。由于url不需要重定向能够表明该url是有效的,因此,统计应用利用该200状态码能够将url统计为有效。
若http请求的url需要重定向,则需要判断http请求的url是否为预定义白名单中的url。即对需要重定向的url进行二次判断。由于在实现本发明过程中,发明人发现并不是所有需要重定向的url都是无效的url,在一种情况下:url地址虽然在web服务端不存在,但在实际应用中该url等同于重定向的地址,例如某xx网站网址为www.xx.com,当用户输入:xx.com或xx.cn时,由于这两个url在web服务端都不存在,服务端会重定向到www.xx.com。此时,xx.com或xx.cn等同于www.xx.com,是有效的url,因为用户通过该url访问到了期望访问的xx网站的首页。
当然,在另一种情况下,需要重定向的url是无效的url。例如,访问url地址是一个商品的商详页面:www.xx.com/12333abcde.html,由于此时该商品已下线,导致对应url已不存在,访问会被重定向到www.xx.com的xx网站首页。由于用户没有访问到期望的商详页,而是访问到了首页,因此该url地址是无效的。
在url需要重定向时,服务端将返回表示需要重定向的状态码给统计应用,对于返回的状态码,统计应用不能够区分url为上述哪种情况,只能通过人工核对进行区分。
因此,在本发明中对需要重定向的url进行二次判断,即判断http请求的url是否为预定义白名单中的url,通过在预定义白名单中记录符合上述第一种情况的url,即url地址虽然在web服务端不存在,但在实际应用中该url等同于重定向的地址,从而对需要重定向的url的上述两种情况进行区分。
进而,在步骤104中,若http请求的url不是白名单中的url,则返回第一无效状态码,否则返回第二有效状态码。其中,第一无效状态码为http状态码,进一步的,在本发明中,第一无效状态码为302状态码或307状态码。302(movedtemporarily)临时移动状态码以及307(internalredirect)内部重定向状态码都表示http请求的资源临时从不同的url响应请求。在本发明中,在url不需要重定向时,在服务端按照http协议处理该http请求,从而服务端向客户端返回302或307状态码。由于返回302状态码或307状态码的url需要重定向且不属于预定义的白名单中url,因此,统计应用利用302状态码或307状态码能够将该url统计为无效。
若http请求的url是白名单中的url,则返回第二有效状态码,以使得服务端根据第二有效状态码能够将url统计为有效。在本发明中将第二有效状态码定义为308状态码:
statuscode:308effectiveinternalredirect。即状态码:308有效的内部重定向,表示http请求的url地址虽然被重定向,但等同于重定向地址发起的请求。统计应用利用308状态码能够将url统计为有效。
进一步的,步骤104中还包括:服务端在返回第二有效状态码即308码的同时返回重定向地址url2,以使客户端能够依据url2再次发起访问请求,同时统计应用在需要确认此url是否有效时,认为收到308状态返回码等同于返回200ok状态码,统计该url地址是有效的。
本发明提供的统计url是否有效的方法,通过对http请求的url进行是否需要重定向的判断,然后对需要进行重定向的url通过预定义的白名单进行二次判断,对于不需要重定向以及属于白名单的url分别返回200和308状态码,对于不属于白名单的需要重定向的url返回302或307状态码,客户端统计应用只需要通过返回的状态码即可实现对于url是否有效的统计,如果返回的值是308或200,则把url统计为有效。如果是302或307,则统计为无效。通过上述方法以及利用本发明新定义的308状态码,可以快速、准确的分辩出有效的url地址,解决了人工核对所带来的效率低、时间长、易遗漏等的问题,节约了人力成本和时间成本,降低人为风险。
本发明实施例还提供一种统计url是否有效的装置,统计应用向服务端发出http请求,如图3所示,装置设置在服务端,该装置1包括:请求接收模块2,重定向判断模块3,第一返回模块4,有效性判断模块5,第二返回模块6,第三返回模块7。
请求接收模块2用于接收统计应用发出的每个http请求。
重定向判断模块3用于判断每个http请求的url是否需要重定向。
第一返回模块4用于若http请求的url不需要重定向,则返回第一有效状态码。进一步的,在本发明中,第一有效状态码为200状态码。
有效性判断模块5用于若http请求的url需要重定向,则判断http请求的url是否为预定义白名单中的url。
第二返回模块6用于若http请求的url不是白名单中的url,则返回第一无效状态码。进一步的,在本发明中,第一无效状态码为302状态码或307状态码。
第三返回模块7用于若http请求的url是白名单中的url,则返回第二有效状态码。
在本发明中将第二有效状态码定义为308状态码:
statuscode:308effectiveinternalredirect。即状态码:308有效的内部重定向,表示http请求的url地址虽然被重定向,但等同于重定向地址发起的请求。
在本发明中,第三返回模块7还用于返回重定向地址。
本发明提供的统计url是否有效的装置,通过对http请求的url进行是否需要重定向的判断,然后对需要进行重定向的url通过预定义的白名单进行二次判断,对于不需要重定向以及属于白名单的url分别返回200和308状态码,对于不属于白名单的需要重定向的url返回302或307状态码,客户端统计应用只需要通过返回的状态码即可实现对于url是否有效的统计,如果返回的值是308或200,则把url统计为有效。如果是302或307,则统计为无效。通过上述方法以及利用本发明新定义的308状态码,可以快速、准确的分辩出有效的url地址,解决了人工核对所带来的效率低、时间长、易遗漏等的问题,节约了人力成本和时间成本,降低人为风险。
根据本发明的实施例,本发明还提供了一种电子设备和一种可读存储介质。
本发明的电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行本发明所提供的统计url是否有效的方法。
本发明的非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行本发明所提供的统计url是否有效的方法。
如图4所示,是根据本发明实施例的统计url是否有效的方法的电子设备的硬件结构示意图。如图4,该电子设备包括:一个或多个处理器a1以及存储器a2,图4中以一个处理器a1为例。其中,存储器a2即为本发明所提供的非暂态计算机可读存储介质。
统计url是否有效的方法的电子设备还可以包括:输入装置a3和输出装置a4。
处理器a1、存储器a2、输入装置a3和输出装置a4可以通过总线或者其他方式连接,图4中以通过总线连接为例。
存储器a2作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的统计url是否有效的方法对应的程序指令/模块(例如,附图3所示的请求接收模块2,重定向判断模块3,第一返回模块4,有效性判断模块5,第二返回模块6,第三返回模块7)。处理器a1通过运行存储在存储器a2中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的统计url是否有效的方法。
存储器a2可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据统计url是否有效的装置的使用所创建的数据等。此外,存储器a2可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器a2可选包括相对于处理器a1远程设置的存储器,这些远程存储器可以通过网络连接至统计url是否有效的装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置a3可接收输入的数字或字符信息,以及产生与统计url是否有效的装置的用户设置以及功能控制有关的键信号输入。输出装置a4可包括显示屏等显示设备。
所述一个或者多个模块存储在所述存储器a2中,当被所述一个或者多个处理器a1执行时,执行上述任意方法实施例中的统计url是否有效的方法。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。