发明内容
鉴于上述问题,本发明的目的是提供一种基于页面访问请求优化页面访问的方法及***,以解决网站无法获得实时用户访问网站产生的数据、无法快速和有针对地对网站做出相应的优化调整的问题。
根据本发明的一个方面,提供一种基于页面访问请求优化页面访问的方法,包括:
当客户端本地不存在待访问网站页面的性能数据时,收集当次请求待访问网站页面时返回的网站页面的性能数据;
将网站页面的性能数据发送到网站服务器;
网站服务器根据网站页面的性能数据对客户端访问的网站进行优化。
此外,优选的方案,方法还包括:
获取所访问网站的域名,当域名与预设的白名单中的域名匹配成功时,检查客户端本地是否有相对应的网站页面的性能数据;
当客户端本地不存在待访问网站页面的性能数据时,进行收集当次请求当访问网站页面时返回的网站页面的性能数据的步骤;
当客户端本地已存在相对应的网站页面的性能数据时,进行将网站页面的性能数据发送到网站服务器步骤。
此外,优选的方案是,网站页面的性能数据包括:请求的网页的url、上一次请求网页的时长、客户端收到页面的大小。
此外,优选的方案是,在获取所述待访问网页中资源时,将所述网站页面的性能数据发送到网站服务器。
此外,优选的方案是,在下一次访问所述待访问网页时,将所述网站页面的性能数据加入http请求的拓展字段,发送到网站服务器。
根据本发明的另一个方面,提供一种基于页面访问请求优化页面访问的***,包括:
客户端,用于当客户端本地不存在待访问网站页面的性能数据时,收集当次请求待访问网站页面时返回的网站页面的性能数据;以及,将所述网站页面的性能数据发送到网站服务器;
网站服务器,用于根据所述网站页面的性能数据对所述客户端访问的网站进行优化。
优选地,所述客户端包括:性能数据收集单元、性能数据判断单元、性能数据发送单元,
其中,所述性能数据判断单元,用于获取所述待访问网站的域名,当所述域名与预设的白名单中的域名匹配成功时,检查客户端本地是否有相对应的网站页面的性能数据;
当客户端本地不存在待访问网站页面的性能数据时,所述性能数据收集单元收集当次请求待访问网站页面时返回的网站页面的性能数据;
当所述客户端本地已存在相对应的网站页面的性能数据时,所述性能数据发送单元将所述网站页面的性能数据发送到所述网站服务器。
优选地,所述网站页面的性能数据包括:请求的网页的url、上一次请求网页的时长、客户端收到页面的大小。
优选地,在获取所述待访问网页中资源时,所述性能数据发送单元将所述网站页面的性能数据发送到所述网站服务器。
优选地,在下一次访问所述待访问网页时,所述性能数据发送单元将所述网站页面的性能数据加入http请求的拓展字段,发送到所述网站服务器。
从上面的技术方案可知,本发明提供的基于页面访问请求优化页面访问的方法及***,基于客户端用户的访问情况,获取实时用户访问网站产生的数据,并能够快速和有针对地对网站做出相应的优化调整,提升客户端用户的使用体验。
为了实现上述以及相关目的,本发明的一个或多个方面包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。然而,这些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。此外,本发明旨在包括所有这些方面以及它们的等同物。
具体实施方式
在下面的描述中,出于说明的目的,为了提供对一个或多个实施例的全面理解,阐述了许多具体细节。然而,很明显,也可以在没有这些具体细节的情况下实现这些实施例。
基于前述提出的网站无法获得实时用户访问网站产生的数据、无法快速和有针对地对网站做出相应的优化调整的问题,本发明提出了建立一套由浏览器反馈信息的机制,本发明的思路是扩展http请求内容,使浏览器访问网站产生的数据可以通过请求的参数来反馈,浏览器访问特定的网站,会提交性能响应请求,网站服务器根据请求返回当次浏览器的网络、性能、错误相关参数。而下次浏览器再次访问网站时,则会附带上一次访问该网站的页面、性能相关参数,网站服务器根据这些参数来判断用户实时访问网站性能的变化,并根据这些变化来优化用户的访问。
本发明提供的基于页面访问请求优化页面访问的方法及***,与现有技术相比,本发明根据页面访问请求,提供访问页面的全流程的数据反馈,以提供网站优化访问的数据支持,从而最大限度地满足用户终端获取信息资源的需要,并提升用户的使用体验。并且,本发明拥有更大的适应性,且能解决现有无法解决的问题:即基于用户的真实访问情况,实时地进行优化。
以下将结合附图对本发明的具体实施例进行详细描述。
图1示出了根据本发明实施例的基于页面访问请求优化页面访问的方法流程。
如图1所示,本发明提供一种基于页面访问请求优化页面访问的方法,包括:S110:当客户端本地不存在待访问网站页面的性能数据时,收集当次请求待访问网站页面时返回的网站页面的性能数据;S120:将网站页面的性能数据发送到网站服务器;S130:网站服务器根据网站页面的性能数据对客户端访问的网站进行优化。
在上述步骤S110中,具体地,在客户端收集浏览器记录的当次请求待访问网站页面时返回的网站页面的性能数据的过程中,网站页面的性能数据包括:请求的网页的url、上一次请求网页的时长、客户端收到页面的大小。
收集的性能数据包括单不限于以下方面:记录请求主文档的时间、记录网站所有资源加载完成的时间、记录网站最长加载资源的时间、页面展示性能数据、特定页面和浏览器记录请求网站错误,如500等错误。
其中,主文档一般是指HTML文档,也称为网站页面,页面首先主要是文本,文本中记录语言标签,浏览器解析页面的标签进行展示,获取资源(图片、js等),最终以网站页面的形式显示出它们。广义上,主文档还包含xhtml、wml等,可以理解为不同标记语言的网站页面。
页面展示性能数据包括页面满屏的时间和整个页面展示完成的时间。
特定页面,记录用户浏览行为(譬如一个页面很长,用户是浏览完成了再关闭,还是浏览到一半就关闭)。
需要说明的是,在本发明中,基于浏览器获取页面展示的过程中,获取相关的数据并反馈给网站,以帮助网站进行改善。一般的浏览器加载过程为:
浏览器发出请求url->获取页面主文档->解析主文档->获取资源(CSS、JS、图片)->页面展示;
其中,获取相关的数据并反馈给网站时,主要获取的相关数据包括:
1)网络请求耗时记录,譬如,获取资源耗时时间,即从浏览器发出请求服务器获取数据的时刻,到收到完整数据响应的时刻之间的时长记录。
2)浏览器解析页面展示时间,譬如,浏览器在获取到主文档后,解析时长的记录,浏览器在加载完页面的js资源后的处理时长记录。而最终,页面是需要展示给用户看的,那么这是会有记录完成解释、显示完成的时间。
3)错误也是一种数据,譬如,当用户请求页面某个链接后,收到http返回码为504的应答时,记录到本地记录中,在下一次请求该站点时,带上对应的记录。
图2示出了根据本发明实施例的基于页面访问请求优化页面访问的方法具体流程。
如图2所示,在本发明中,基于页面访问请求优化页面访问的方法,具体包括:
S210:获取所访问网站的域名,当域名与预设的白名单中的域名匹配成功时,检查客户端本地是否有相对应的网站页面的性能数据。具体地,在本发明中,通过客户端访问网站页面的请求获取客户端访问的网站的域名,将域名与预设的白名单中的域名进行匹配,若匹配成功,则检查客户端本地是否有相对应的网站页面的性能数据。
需要说明的是,客户端在访问网站页面时,***拦截客户端的请求,并将客户端访问的网站的域名与浏览器获取的白名单中的域名进行匹配,若客户端访问的网站的域名存在于浏览器获取的白名单中的域名,则域名匹配成功,否则匹配失败;若匹配失败,则客户端对网站进行普通请求,由于普通请求是本领域的公知常识,在本发明中不做详细说明;若匹配成功,在本发明中将继续进行执行。其中,客户端在访问同一个网站页面时,会发出至少一次的请求。
另外需要说明的是,本发明中,仅对在白名单中的网站进行数据收集并匹配,浏览器判断当前访问的网站的域名是白名单中的域名时,进行记录和上传记录性能数据处理。其中,在浏览器中添加收集数据的白名单机制:
1)浏览器支持后台服务,浏览器定期获取白名单,以可以通过服务推送方式实现同步、更新;
2)浏览器可以模式开启该模式,也可以在设置页面中提供激活项,功能的开启与关闭可以有用户来进行。
其中,白名单的权限和范围包括:开启或关闭数据收集和反馈、控制对哪些域名进行数据记录、控制对域名记录哪些数据。
S220:当客户端本地不存在待访问网站页面的性能数据时,进行收集当次请求待访问网站页面时返回的网站页面的性能数据的S110步骤。具体地,在本发明中,当客户端本地不存在相对应的网站页面的性能数据时,收集浏览器记录的客户端的当次请求的网站页面的性能数据,并保存至客户端本地,并且,网站页面的性能数据为网站页面返回时的网站页面的性能数据。
其中,需要说明的是,在进行收集网站页面的性能数据时,采用前述步骤S110的方法,进行收集请求的网页的url、上一次请求网页的时长、客户端收到页面的大小。
S230:当客户端本地已存在相对应的网站页面的性能数据时,进行将网站页面的性能数据发送到网站服务器S130步骤。
具体地,在本发明中,当客户端本地已存在相对应的网站页面的性能数据时,在http请求中增加http请求的拓展字段,然后将增加了拓展字段的http请求发送到网站服务器。其中,增加的拓展字段包括客户端本地已存在的上次请求页面时产生的网站页面的性能数据。
也就是说,客户端在下一次访问待访问网页时,将网站页面的性能数据加入http请求的拓展字段,发送到所述网站服务器。
需要说明的是,当客户端本地已存在相对应的网页网站页面的性能数据;时,也就是客户端再一次请求网站页面的时候;并且,客户端利用http协议的协商特性,发出具有拓展字段的http请求。
其中,http请求的拓展字段包括客户端本地已存在的相对应的网站页面的性能数据。性能响应请求字段包括:自定义bef_url(代表记录的请求url)、自定义bef_time(代表上次请求页面的耗时)。
具体地,在本发明中,网站服务器在接收到增加了拓展字段的http请求后,通过识别http请求中包含的拓展字段,获得被记录的http请求的性能数据;根据记录的性能数据对网站进行优化。
需要说明的是,在本发明中,在获取待访问网页中资源时,将网站页面的性能数据发送到网站服务器。也就是说,客户端可以是在当次(首次)请求待访问网站页面中,获取待访问网页中资源;也可以是在下一次请求待访问网站页面中,获取所述待访问网页中资源。也就是说,由于客户端在请求同一个网站页面时,会产生一次或多次的请求,所以发送上一次记录数据的触发时间就是在客户端在下一次请求页面或页面的资源时。
在本发明中,性能相关的数据是记录在客户端本地的,在本发明中,完成一个页面的展示,浏览器需要发送多次请求,即每加载一个js(是JavaScript的简写,是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言)、css(级联样式表)和image(图片)都是一个请求,所以,获取到的性能数据,可以在获取资源的请求中,传递给网站服务器,也可以在下一次用户点击链接(即用户出发一次点击页面链接,重新加载一个页面的操作)时,把记录的性能数据上传。因此发送上一次记录数据的时间是可以由客户端控制。以上表述的是何时将这些数据传给网站服务器。
其中,http请求的数据包括网站ip、请求url、网站的响应耗时以及网站页面性能数据;网站ip是通过dns(Domain Name Service,域名***)解析后获取,而请求url则是http请求的数据中必须的包括,而请求耗时、页面性能这些就是具体的数据记录。
具体地,网站服务器收到客户端的http请求后,通过识别出http请求中的记录数据,可以得到ip、请求url、响应耗时以及页面性能等数据,网站或网站运营人员可根据实际的数据对网站进行优化,自动实现网站服务器的优化处理。
需要说明的是针对不同的网站或者实际需求,收集的性能数据不完全一样;以访问新浪网站为例,浏览器可以记录或收集如下性能数据:
1)获取主文档时间;
2)用户加载完成页面所有资源时间;
3)页面中,加载最耗时的资源及时间。
新浪网站通过收集分析数据,发现本次用户访问的速度远低于上次访问的速度,结合用户访问IP地址来判断,发现相比上一次访问用户IP段已经发生了变化(比如用户是在移动中浏览网站,期间他没有退出浏览器,在这样的情况下,原本分配的服务器群默认是不发生变化的),则将用户转到与其IP段相匹配的、速度最优的镜像服务器,从而实现快速优化用户访问网站的速度。
4)收集页面错误
在本发明中,网站收集错误;以当前用户进入页面返回40x、50x错误为例:
当用户请求对应站点出现40x、50x错误时,当下次请求正常域名时,带上上一次的错误记录,如本次也返回错误,则只记录最后一次。
网站可通过专门的接口列表形式输出40x、50x错误信息,网站维护人员可以通过这些信息快速了解网站错误页面URL以及对应的内容区间,实现更高效了解和分析问题。
5)收集浏览页面进度
当一个用户在浏览一个页面时,当浏览到60%时,点击页面链接A,与用户完整浏览页面时,再点击页面链接A,此时的统计。
在本发明中,还可以进一步地扩展,可以获取到上一次服务器返回的特殊字段值,在下一次的请求中,返回给网站,可以获得一些如网络代理、缓存等信息,方便查询问题。
与上述方法相对应,本发明还提供一种基于页面访问请求优化页面访问的***,图3示出了根据本发明实施例的基于页面访问请求优化页面访问的***逻辑结构。
如图3所示,本发明提供的基于页面访问请求优化页面访问的***300,包括客户端310和网站服务器320;
客户端310,用于当客户端本地不存在待访问网站页面的性能数据时,收集当次请求待访问网站页面时返回的网站页面的性能数据;以及,将所述网站页面的性能数据发送到网站服务器320;
网站服务器320,用于根据所述网站页面的性能数据对所述客户端310访问的网站进行优化。
本发明提供的基于页面访问请求优化页面访问的***,基于客户端用户的访问情况,获取实时用户访问网站产生的数据,并能够快速和有针对地对网站做出相应的优化调整,提升客户端用户的使用体验。
图4是基于页面访问请求优化页面访问的***中客户端的***逻辑框图,所述客户端310包括:性能数据收集单元311、性能数据判断单元312、性能数据发送单元313,
其中,所述性能数据判断单元312,用于获取所述待访问网站的域名,当所述域名与预设的白名单中的域名匹配成功时,检查客户端本地是否有相对应的网站页面的性能数据;当客户端310本地不存在待访问网站页面的性能数据时,所述性能数据收集单元311收集当次请求待访问网站页面时返回的网站页面的性能数据;当所述客户端本地已存在相对应的网站页面的性能数据时,所述性能数据发送单元313将所述网站页面的性能数据发送到所述网站服务器320。
优选地,所述网站页面的性能数据包括:请求的网页的url、上一次请求网页的时长、客户端收到页面的大小。
优选地,在获取所述待访问网页中资源时,所述性能数据发送单元313将所述网站页面的性能数据发送到所述网站服务器320。
优选地,在下一次访问所述待访问网页时,所述性能数据发送单元313将所述网站页面的性能数据加入http请求的拓展字段,发送到所述网站服务器320。
通过上述实施方式可以看出,本发明提供的基于页面访问请求优化页面访问的方法及***,基于客户端用户的访问情况,获取实时用户访问网站产生的数据,并能够快速和有针对地对网站做出相应的优化调整,即实时地进行优化,从而最大限度地满足用户终端获取信息资源的需要,提升客户端用户的使用体验。
如上参照附图以示例的方式描述了根据本发明提出的基于页面访问请求优化页面访问的方法及***。但是,本领域技术人员应当理解,对于上述本发明所提出的基于页面访问请求优化页面访问的方法及***,还可以在不脱离本发明内容的基础上做出各种改进。因此,本发明的保护范围应当由所附的权利要求书的内容确定。