本发明属于计算机领域,尤其涉及一种加载网页的方法。
背景技术:
用户访问互联网时,一般使用客户端的浏览器输入想要访问的网址,客户端根据该网址查询并连接相应的网页服务器,网页服务器返回相应的网页(典型的例如html格式的网页),然后浏览器解析并加载该网页内容。
随着网页设计越来越复杂,网页中的内容也越来越多,在很多情况下,网页中会携带指向其他服务器的内容,因而当浏览器加载网页时,其还需要向所述其他服务器下载内容。例如,网页中可能需要加载一张图片,该图片并不在原来的网页服务器a上,而在另外一个服务器b上,也就是说,该网页的url指向了服务器b。此时浏览器就需要访问服务器b下载该图片。但是,如果此时服务器b出现了问题,就会严重拖慢网页的加载和显示速度,甚至使网页加载失败。
技术实现要素:
为了解决现有技术中的上述问题,本发明提供了一种加载网页的方法。
本发明采用的技术方案具体如下:
一种加载网页的方法,包括以下步骤:
步骤100:将网页中需要从内容服务器下载的内容区分为关键内容和非关键内容,并在网页中注明;
步骤200:客户端浏览器从网页服务器获取所述网页,对所述网页进行解析,确定其中的关键内容和非关键内容;
步骤300:所述浏览器尝试下载所述关键内容,如果有一个或多个关键内容下载失败,则浏览器显示网页加载失败,方法结束;
步骤400:所述浏览器尝试下载所述非关键内容,对于下载失败的非关键内容,所述浏览器向所述网页服务器发送替代请求;
步骤500:所述网页服务器在接收到所述替代请求后,根据预先设置的替代策略,向所述浏览器返回相应非关键内容的替代方式和/或替代内容;
步骤600:所述浏览器基于所有成功下载的关键内容、所有成功下载的非关键内容、根据步骤500确定的非关键内容的替代方式和/或替代内容,加载并显示所述网页。
进一步地,在步骤600之后,进一步包括:
步骤700:所述浏览器在后台继续尝试下载所述下载失败的非关键内容,如果其中某个非关键内容下载成功,则所述浏览器将该非关键内容重新加入网页显示中。
进一步地,还包括:
步骤800:所述网页服务器监控所有的替代请求,如果某个内容服务器或url在预定时长内被提出替代请求的次数超过阈值,则所述网页服务器发出报警。
进一步地,使用html标签属性来注明网页中的关键内容。
进一步地,使用专门的标签在网页中注明关键内容。
进一步地,所述步骤300中,所述浏览器尝试同时连接一个或多个内容服务器,同时下载所述关键内容。
进一步地,所述步骤300中,所述浏览器按照预定规则按序下载关键内容。
进一步地,所述替代策略在网页设计阶段确定,然后存储于所述网页服务器中以备浏览器查询。
进一步地,所述替代策略包括:忽略相应的非关键内容。
进一步地,所述替代策略包括:使用网页服务器上的内容来替代非关键内容。
本发明的有益效果是:提高网页加载速度,避免了一些加载失败的情况,并且可以帮助网站管理人员发现可能存在的问题。
附图说明
此处所说明的附图是用来提供对本发明的进一步理解,构成本申请的一部分,但并不构成对本发明的不当限定,在附图中:
图1是支持网页浏览的系统架构图。
具体实施方式
下面将结合附图以及具体实施例来详细说明本发明,其中的示意性实施例以及说明仅用来解释本发明,但并不作为对本发明的限定。
参见附图1,其示出了支持网页浏览的系统架构图。整个系统包括客户端、网页服务器,以及一个或多个内容服务器。
其中,客户端通常包括浏览器,用户使用浏览器加载并浏览指定网址的网页。例如,用户在浏览器地址栏中输入网页地址www.abc.com,则浏览器通过地址解析,确定该网址所对应的网页服务器,然后向该网页服务器请求相应的网页。
所述网页服务器用于存储网页,例如网页服务器会存储名为index.html的主页面,当客户端浏览器请求网页时,网页服务器将该index.html返回给浏览器。
浏览器获得网页后,会解析网页内容,加载并显示页面。所述网页中可能包括其他url,以指向其他内容服务器。例如,index.html中包括一张图片,图片的url为www.def.com/picture.jpg。因此,浏览器需要解析www.def.com,确定其指向的内容服务器,从该内容服务器请求并获取picture.jpg图片文件,然后浏览器显示页面时就可以加载并显示该图片。因此,所述内容服务器就是用于存储部分网页内容,例如图片、视频,甚至是另外的html或js文件等等。
基于上述系统结构,下面详细说明本发明加载网页的具体步骤:
步骤100:将网页中需要从内容服务器下载的内容区分为关键内容和非关键内容,并在网页中注明。
步骤100是在网页设计阶段就需要完成的步骤,在网页设计时,将内容进行分类。这里所说的内容就是浏览器从其他内容服务器(非网页服务器本身)需要下载的内容。
具体的,关键内容是指加载和显示网页所必需的内容,如果没有所述关键内容,网页加载或显示就不能完成,或者显示网页就没有意义。而非关键内容指的是加载和显示网页非必需的内容,可以通过留白或者简单替换忽略该非关键内容。
举例而言,对于一个视频新闻网页,其中的视频对于网页是重要、必不可少的,可以确定为关键内容;同时网页中具有一些广告图片,这些广告图片是不重要、可以缺少的,则确定为非关键内容。
在具体实现上,可以在关键内容的html标签中增加一个属性,用于指明该标签中所包括的内容是关键内容,没有该属性的标签默认为非关键内容。或者,也可以使用专门的标签来指明关键内容。当然本领域技术人员也可以使用别的方式在网页中进行注明,本发明对此不作限制。
步骤200:客户端浏览器从网页服务器获取所述网页,对所述网页进行解析,确定其中的关键内容和非关键内容。
浏览器获取网页的步骤在前面已有叙述,其已是现有技术,在此不再赘述。总之,浏览器可以根据事先约定的网页注明规则,在解析网页的过程中,确定哪些内容需要从内容服务器下载,这些内容中哪些是关键内容,哪些是非关键内容。
步骤300:所述浏览器尝试下载所述关键内容,如果有一个或多个关键内容下载失败,则浏览器显示网页加载失败,方法结束。
具体的,所述网页中可能具有一个或多个关键内容,需要从一个或多个内容服务器下载。则所述浏览器可以尝试同时连接所述一个或多个内容服务器,同时下载所述关键内容。当然,浏览器也可以按照预定规则按序下载关键内容,本发明对此不作限制。
下载关键内容可能失败,失败的条件有多种,例如相应内容服务器无法连接,或者关键内容在预定时间或预定尝试次数内未能下载完全,或者内容服务器报告不存在该关键内容,等等。总之,只要有一个关键内容下载失败,由于关键内容对网页的重要性,则说明该网页的加载已经失败,浏览器直接向用户报告失败,不再尝试加载其他的内容。如果所有的关键内容都成功下载,则至少说明网页主体部分已无问题,主体部分可以成功加载和显示,可以继续执行后续步骤。
步骤400:所述浏览器尝试下载所述非关键内容,对于下载失败的非关键内容,所述浏览器向所述网页服务器发送替代请求。
与关键内容类似,非关键内容的下载可能成功也可能失败,失败的条件与关键内容相同,在此不再赘述。
所述浏览器确定哪些非关键内容下载失败,则向所述网页服务器发送替代请求,所述替代请求中注明需要替代哪些非关键内容(也就是下载失败的非关键内容)。例如,可以在替代请求中指明下载失败的非关键内容的url。
所述替代请求的目的是向网页服务器查询在无法获取该非关键内容的情况下如何处理。
步骤500:所述网页服务器在接收到所述替代请求后,根据预先设置的替代策略,向所述浏览器返回相应非关键内容的替代方式和/或替代内容。
替代策略在网页设计阶段确定,然后存储于所述网页服务器中以备浏览器查询。
根据本发明的一个具体实施例,一个最简单的替代策略是忽略相应的非关键内容。例如,如果一个下载失败的非关键内容是广告图片,则网页服务器返回的替代方式是忽略该广告图片,因此浏览器在加载所述网页时,直接忽略该广告图片,不予加载和显示。
根据本发明的另一个实施例,一个替代策略是使用网页服务器上的内容来替代非关键内容。例如,如果一个下载失败的非关键内容是广告图片,则网页服务器可以返回一个预先设置的缺省广告图片,因此浏览器在加载所述网页时,使用该缺省广告图片替代原本需要下载的广告图片。
以上是本发明提出的两个替代策略的例子,本领域技术人员也可以根据具体情况和需求来设置不同的替代策略,本发明对此不作限制。、
步骤600:所述浏览器基于所有成功下载的关键内容、所有成功下载的非关键内容、根据步骤500确定的非关键内容的替代方式和/或替代内容,加载并显示所述网页。
到步骤600,所有需要从内容服务器获取的内容都已获取,或者已经是成功下载,或者是确定了替代方式和/或替代内容,因而浏览器就可以完成网页加载和显示。
上述方法避免了由于某些非关键内容无法下载,可能导致的网页加载速度慢或加载失败的情况,通过关键内容的划分,保证了在网页主体部分可获取的情况下,能正常加载网页。
如果某些非关键内容下载失败而被替代,步骤600所显示的网页就与原设计的网页有所不同,为了更好地保证网页效果,本发明还可以进一步包括:
步骤700:所述浏览器在后台继续尝试下载所述下载失败的非关键内容,如果其中某个非关键内容下载成功,则所述浏览器将该非关键内容重新加入网页显示中。
例如,在执行完步骤600后,浏览器实际上已经加载和显示了网页,但是其中一个广告图片是被前述缺省广告图片所替代,则浏览器可以在后台继续尝试下载一次或多次该广告图片,如果下载成功,则将网页中的该缺省广告图片替换回该广告图片。
步骤800:所述网页服务器监控所有的替代请求,如果某个内容服务器或url在预定时长内被提出替代请求的次数超过阈值,则所述网页服务器发出报警。
例如,如果一天内的替代请求多次涉及到某个内容服务器所存储的内容,且次数超过了预定阈值。则说明该内容服务器很可能发生了严重问题,不再适宜存储内容。因此网页服务器发出警告,提醒网站的管理人员进行检查,或者修改网页设计。这样,网站管理人员可以及时发现网站中可能出现的问题,有助于网站管理。
以上所述仅是本发明的较佳实施方式,故凡依本发明专利申请范围所述的构造、特征及原理所做的等效变化或修饰,均包括于本发明专利申请范围内。