CN104063401B - 一种网页样式地址合并的方法和装置 - Google Patents
一种网页样式地址合并的方法和装置 Download PDFInfo
- Publication number
- CN104063401B CN104063401B CN201310095228.9A CN201310095228A CN104063401B CN 104063401 B CN104063401 B CN 104063401B CN 201310095228 A CN201310095228 A CN 201310095228A CN 104063401 B CN104063401 B CN 104063401B
- Authority
- CN
- China
- Prior art keywords
- pattern
- address
- style
- assemble
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
- Document Processing Apparatus (AREA)
Abstract
本申请涉及一种网页样式地址合并的方法和装置,包括:接收来自终端的网页请求;基于所述网页请求,确定与所述网页请求相对应的网页内容数据;解析所述网页内容数据,得到多个样式数据;从所述多个样式数据中提取相应样式数据的样式地址和样式属性;以及将多个所述样式地址进行合并,以得到一个或多个组合样式地址。本申请通过将网页中多个样式地址合并的方式,减少了样式地址数量,从而,减少了客户端与服务器的交互次数,加快了页面加载速度,同时减轻了服务器的系统压力。
Description
技术领域
本申请涉及数据处理领域,尤其涉及一种网页样式地址合并的方法和装置。
背景技术
现在互联网应用已经进入web2.0时代,由于应用端的表现越来越丰富,所以对于前端页面性能的要求也越来越高。在使用互联网时,一般需要透过浏览器来阅读文字、图像等元素组成的网页,网页是通过统一资源定位符(URL)来识别与存取的。URL是超文本标记语言格式的一个应用,用来完整的描述互联网上网页和其他资源的地址的一种标记方法。在进行网页设计时,为了获得更好的效果,对网站中的每一个网页都进行了样式设计,例如:网页的布局、字体、颜色、背景、距离等等,通过网页样式设计的方式来搭建网站的框架结构、外观和事件。
在现有技术中,网页引用的样式越来越多,每次打开网页时都需要加载多个样式内容文件以供页面展示,这带来的问题是页面加载过多样式内容文件导致性能低下、用户体验下降。如:一个网页中使用了10个样式资源,使用现有方式打开网页时,则需要向服务器发送10次网页样式URL请求去获取样式内容,并根据上述10个样式内容渲染网页并展示出来,而且每次打开时都会加载10次样式内容,从而降低了页面的展现速度和用户体验。
发明内容
本申请的主要目的在于提供一种网页样式地址合并的方法和装置,以解决现有技术存在的加载大量网页样式,造成的网页性能下降的问题。
为了解决上述技术问题,本申请的目的是通过以下技术方案实现的:
本申请公开了一种网页样式地址合并的方法,包括以下步骤:接收来自终端的网页请求;基于所述网页请求,确定与所述网页请求相对应的网页内容数据;解析所述网页内容数据,得到多个样式数据;从所述多个样式数据中提取相应样式数据中的样式地址和样式属性;以及将多个所述样式地址进行合并,以得到一个或多个组合样式地址。
优选的,在根据本申请所述的方法中,所述将多个所述样式地址进行合并,以得到一个或多个组合样式地址的步骤,还包括:基于所述多个样式地址的样式属性将所述多个样式地址进行合并,以得到所述组合样式地址;以及将所述组合样式地址发送至所述终端。
优选的,根据本申请所述的方法,还可以包括:接收来自所述终端的样式渲染请求,其中,所述样式渲染请求中包括所述组合样式地址;基于所述组合样式地址,读取与所述组合样式地址相对应的样式内容;以及将所述样式内容发送至所述终端。
优选的,在根据本申请所述的方法中,所述基于所述组合样式地址,读取与所述组合样式地址相对应的样式内容的步骤,还包括:解析所述组合样式地址,将所述组合样式地址拆分为多个地址段,并且每一个所述地址段对应所述多个样式地址中的一个样式地址;根据所述多个地址段,读取所述多个地址段的多个样式内容;以及创建一个与所述组合样式地址相对应的文件,并将所述多个样式内容保存至所述文件中。
优选的,在根据本申请所述的方法中,所述基于所述组合样式地址,读取与所述组合样式地址相对应的样式内容的步骤,还包括:查询与所述组合样式地址相对应的文件,读取所述文件中的样式内容。
优选的,在根据本申请所述的方法中,所述组合样式地址的数量少于所述多个样式地址的数量。
本申请还公开了一种网页样式地址合并的装置,包括:接收模块,用于接收来自终端的网页请求;查询模块,用于基于所述网页请求,确定与所述网页请求相对应的网页内容数据;解析模块,用于解析所述网页内容数据,得到多个样式数据;提取模块,用于从所述多个样式数据中提取相应样式数据的样式地址和样式属性;以及合并模块,用于将多个所述样式地址进行合并,以得到一个或多个组合样式地址。
优选的,在根据本申请所述的装置中,所述合并模块还被配置为:基于所述多个样式地址的样式属性将所述多个样式地址进行合并,以得到所述组合样式地址;以及将所述组合样式地址发送至所述终端。
优选的,在根据本申请所述的装置中,所述接收模块还被配置成接收来自所述终端的样式渲染请求,其中,所述样式渲染请求中包括所述组合样式地址;所述查询模块还被配置成基于所述组合样式地址,读取与所述组合样式地址相对应的样式内容;以及所述合并模块还被配置成将所述样式内容发送至所述终端。
优选的,在根据本申请所述的装置中,所述查询模块还包括:拆分单元,用于解析所述组合样式地址,将所述组合样式地址拆分为多个地址段,并且每一个所述地址段对应所述多个样式地址中的一个样式地址;读取单元,用于根据所述多个地址段,读取所述多个地址段的多个样式内容;以及创建单元,用于创建一个与所述组合样式地址相对应的文件,并将所述多个样式内容保存至所述文件中。
优选的,在根据本申请所述的装置中,所述读取单元还配置成通过查询与所述组合样式地址相对应的文件以读取所述文件中的样式内容。
优选的,在根据本申请所述的装置中,所述组合样式地址的数量少于所述多个样式地址的数量。
与现有技术相比,根据本申请的技术方案具有以下优点:通过将网页中多个样式地址合并的方式,减少了样式地址数量,从而,减少了客户端与服务器的交互次数,加快了页面加载速度,同时减轻了服务器的系统压力。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请实施例的网页样式地址合并的方法的流程图;
图2是本申请实施例的基于网页样式地址合并的方法获取样式内容的流程图;
图3是本申请实施例的基于网页样式地址合并的方法获取样式内容的另一实施方式的流程图;
图4是本申请实施例的网页样式地址合并的装置的模块图;以及
图5是本申请实施例的图4中的查询模块420的单元框图。
具体实施方式
本申请的主要思想在于,接收来自终端的网页请求;基于所述网页请求,确定与所述网页请求相对应的网页内容数据;解析所述网页内容数据,得到多个样式数据;从所述多个样式数据中提取相应样式数据的样式地址和样式属性;以及将多个所述样式地址进行合并,以得到一个或多个组合样式地址,其中所述组合样式地址的数量少于所述多个样式地址的数量。
为使本申请的目的、技术方案和优点更加清楚,以下结合附图及具体实施例,对本申请作进一步地详细说明。
根据本申请的实施例,提供了一种网页样式地址合并的方法。
如图1所述,为本申请实施例的网页样式地址合并的方法的流程图。
用户在使用互联网时,会打开网页用于浏览相关内容,此时,终端会向服务器发送一个网页请求,该网页请求可以满足超文本传输协议(HTTP协议)的形式或所属领域技术人员熟知的其他传输协议的形式并且包含所述网页的页面地址信息,该网页请求的目的是请求服务器向所述终端发送所述网页中的多个样式的地址信息,并利用所述多个样式的地址加载该地址所指向的样式内容。
在步骤S102处,接收来自终端的该网页请求,并在步骤S104处,基于该网页请求,确定与该网页请求相对应的网页内容数据,其中。具体而言,根据该网页请求包含的页面地址信息在服务器的第一数据库中查询并确定与该网页请求相对应的网页内容数据,该网页内容数据同样满足HTTP协议或与上述网页请求相应的协议形式,而且该网页内容数据包含超文本标记语言(HTML)代码、脚本语言代码等代码语句,所述代码语句用来描述网页内容数据中的多个原始样式数据,每个原始样式数据中都包括数据标签、样式属性、样式地址等信息。
在确定与所述网页请求相对应的网页内容数据后,在步骤S106中,解析所述网页内容数据,得到多个样式数据。
在所述网页内容数据中包含多个原始样式数据,解析所述网页内容数据,也就是判断所述每一个原始样式数据的正确性和完整性,如,代码语句格式、数据标签等等。在该解析过程中,忽略出现语句错误和/或语句不完整的原始样式数据,将具有正确性和完整性的原始样式数据作为后续步骤的基础,该具有正确性和完整性的原始样式数据称为样式数据,从而得到该多个样式数据。
举例而言,查找所述网页内容数据中包含的<link>标签和<script>标签,对包含<link>标签和包含<script>标签的每条代码语句进行校验和分析,判断该代码语句所描述的是否为一个样式数据(代码语句具有正确性和完整性)。例如:
语句1:<link href="http://style.china.alibaba.com/a.css”rel=”stylesheet”/>
首先检查<link>标签中是否存在“href”属性,若存在则检查数据标签中是否存在rel=”stylesheet”,若存在rel=”stylesheet”,则检查http://style.china.alibaba.com/a.css是否为符合要求的样式地址信息,如,判断该样式地址的服务器域名是否正确,若该样式地址符合要求,则检查该样式地址的结尾类型,可以判断出该样式地址是以.css结尾。
语句2:<script src=“http://style.china.alibaba.com/a.js”></script>
与语句1的解析过程相仿,首先检查<script>标签中是否包含“src”属性,若存在则检查该代码语句是否以</script>结束,若正确,则检查样式地址http://style.china.alibaba.com/a.js是否符合要求,在该样式地址符合要求的前提下,检查该样式地址的结尾类型,判断出该地址的结尾为.js。
经过解析,若代码语句完整且正确,则该代码语句描述的为一个样式数据,若在解析过程中任一环节出现代码语句错误,则停止该条语句的解析,进行下一条代码语句的解析,从而解析所述网页内容数据,可以得到多个样式数据。
在每一个样式数据中都包含样式地址和样式属性,根据已解析的所述网页内容数据,在步骤S108处,从所述多个样式数据中提取相应样式数据的样式地址和样式属性。即:若解析某条代码语句所描述的为一个样式数据,则提取出该代码语句的样式地址和样式属性,进一步地,可以理解为,对已解析的网页内容数据中的多个样式数据进行数据再处理,目的在于获得相应样式数据的样式地址和样式属性。在此,将已解析的网页内容数据称之为样式解析数据,其中该样式解析数据可以包含多个样式数据(具有正确性和完整性的原始样式地址),并且每一个样式数据包含样式地址和样式属性,可以利用该样式属性对样式解析数据中的多个样式数据进行分组、并将所述多个样式数据中的多个样式地址进行合并,进一步地,可以理解为利用样式属性对多个样式地址进行合并,以达到简化代码语言的效果。
在得到多个样式数据的样式地址和样式属性之后,在步骤S110处,将多个所述样式地址进行合并,以得到一个或多个组合样式地址,其中所述组合样式地址的数量少于所述多个样式地址的数量。具体而言,将该样式解析数据中的多个样式数据按照样式属性的值进行分组,并将具有相同样式属性值的多个样式地址进行合并。
在对所述样式解析数据中多个样式地址进行合并后,可以得到组合样式数据,该组合样式数据中包含一个或多个组合样式地址,该组合样式地址即是按照样式属性对多个样式地址进行合并得到的样式地址。概括而言,基于所述多个样式地址的样式属性将所述多个样式地址进行合并,以得到所述组合样式地址。
本申请的实施例是以样式解析数据为基础对多个样式数据进行分组从而对所述样式数据中的样式地址进行合并。程序代码1为现有技术中的样式解析数据,以程序代码1为例,对多个样式数据的合并进行说明。
程序代码1:
<html>
<head>…..</head>
<body>
<link data-sc-pos=”head”data-sc-group=”group1”href=”http://style.china.alibaba.com/a.css”
rel=”stylesheet”/>
<link data-sc-pos=”head”data-sc-group=”group1”href=”http://style.china.alibaba.com/b.css”
rel=”stylesheet”/>
<script data-sc-pos=”footer”data-sc-group=”group2”
src=”http://style.china.alibaba.com/a.js></script>
<script data-sc-pos=”footer”data-sc-group=”group2”
src=”http://style.china.alibaba.com/b.js></script>
</body>
</html>
在该样式解析数据中包含了CSS代码和JS代码两种代码语言,并使用CSS代码定义了两条<link>语句,使用JS代码定义了两条<script>语句,根据具有<link>标签和<script>标签的代码语句的完整性和正确性,可以知道,在该样式解析数据中包含有4个样式数据。
将所述样式解析数据中的4个样式数据进行合并,得到程序代码2所示的组合样式数据,在程序代码2的代码语句中包含有两个样式属性,即,位置属性(data-sc-pos)和分组属性(data-sc-group)。其中,位置属性用于表示当前样式地址在合并后需要放置在页面的位置。当data-sc-pos=“head”时,表示该样式地址放置在HTML语言的<head>${…}</head>中间,当data-sc-pos=“footer”时,表示该样式地址放置在HTML语言的${…}</body>前面;分组属性,用于指定样式地址所属的分组,利用分组属性的值划分不同的分组,该分组属性需要与位置属性一同使用,若单独使用该分组属性,则忽略两种样式数据。
对程序代码1所示的样式解析数据,为了按分组对样式地址进行合并,首先进行位置属性分组,再进行分组属性分组,将所述样式解析数据中的4个样式数据进行分组。
在所述样式解析数据中,按照位置属性的值,如:data-sc-pos=“head”、data-sc-pos=“footer”,对样式地址进行第一次分组,例如,将位置属性具有值“head”的语句分组在一起,将位置属性具有值“footer”的语句分组在一起,这样可以得到具有位置属性的样式地址分组,通过位置属性对样式地址进行分组,可以区分出网页样式加载的先后顺序;将具有位置属性的样式地址分组再按照分组属性进行第二次分组,将具有同样分组值,如:data-sc-group=“group1”、data-sc-group=“group2”的样式地址进行分组,如,将包含data-sc-group=“group1”的样式地址分为一组,将包含data-sc-group=“group2”的样式地址分为一组。
将每一个分组的样式地址进行合并,得到组合样式地址,程序代码2为对所述样式解析数据中4个样式地址进行合并的结果。
程序代码2:
<html>
<head>
<link href=”http://style.china.alibaba.com/a|b.css”rel=”stylesheet”/>
</head>
<body>
<script src=http://style.china.alibaba.com/a|b.js></script>
</body>
</html>
其中将样式解析数据中的语句<link data-sc-pos=“head”data-sc-group=”group1”href=“http://style.china.alibaba.com/a.css”rel=“stylesheet”/>和语句<link data-sc-pos=“head”data-sc-group=”group1”href=“http://style.china.alibaba.com/b.css”rel=“stylesheet”/>进行了合并,得到语句<link href=“http://style.china.alibaba.com/a|b.css”rel=“stylesheet”/>。
将语句<script data-sc-pos=“footer”data-sc-group=”group2”scr=http://style.china.alibaba.com/a.js></script>和<script data-sc-pos=“footer”data-sc-group=”group2”scr=http://style.china.alibaba.com/b.js></script>进行合并,得到语句<script scr=http://style.china.alibaba.com/a|b.js></script>。
进一步地,在对样式解析数据合并时,若代码由两种以上代码语言组成,则代码与代码之间的合并需要分开进行,如:在程序代码1中包含有CSS代码和JS代码两种代码语言,在进行合并操作时,CSS代码编写的语句之间按分组进行合并,JS代码编写的语句之间按分组进行合并。
通过对程序代码1和程序代码2的描述,可以看到,合并后的样式解析数据只包含2个样式地址,相较于程序代码1,程序代码2的语句更为简洁,可以减少服务器请求次数,若样式解析数据中包含较多的样式地址,利用本申请的方法合并样式地址,可以有效地减少样式地址条目,减少客户端与服务器的交互次数。
在另一种实施例中,样式解析数据可以存在多个样式数据的位置属性不同,但分组属性相同,或者多个样式数据的位置属性相同,但分组属性不同的情况,如下述程序代码3所示的样式解析数据。
程序代码3:
<html>
<head>…..</head>
<body>
<link data-sc-pos=“head”data-sc-group=”group1”href=”http://style.china.alibaba.com/c.css”
rel=”stylesheet”/>
<link data-sc-pos=“footer”data-sc-group=”group1”href=”http://style.china.alibaba.com/d.css”
rel=”stylesheet”/>
<link data-sc-pos=“footer”data-sc-group=”group1”href=”http://style.china.alibaba.com/e.css”
rel=”stylesheet”/>
<script data-sc-pos=“footer”data-sc-group=”group3”src=”http://style.china.alibaba.com/c.js”
></script>
<script data-sc-pos=“footer”data-sc-group=”group4”src=”http://style.china.alibaba.com/d.js”
></script>
<script data-sc-pos=“footer”data-sc-group=”group4”src=”http://style.china.alibaba.com/e.js”
></script>
在该样式解析数据中包含6个样式数据,前3个包含<link>标签的代码,具有不同值的位置属性和相同值的分组属性,后3个包含<script>标签的代码,具有相同值的位置属性和不同值的分组属性。在本实施例中,按照分组属性的值进行分组,将包含“group1”的样式数据分为一组,将包含“group3”的样式数据分为一组,将包含“group4”的样式数据分为一组,其中,包含“group1”的分组中位置属性的值分别有“head”和“footer”两种,以先出现的值为准,忽略在后出现的值,即,以值为“head”的位置属性为准,忽略值为“footer”的位置属性,将该分组中样式地址进行合并,并将该组合样式地址放置于html语言的<head>${…}</head>中间;包含“group3”和“group4”的两个分组,位置属性的值均为“footer”,则在样式地址合并后,将组合样式地址放置于html语言的${…}</body>前面。
对该样式解析数据中的多个样式数据按分组进行合并,可以得到程序代码4所示的组合样式数据。
程序代码4;
<html>
<head>
<link href="http://style.china.alibaba.com/c|d|e.css”rel=”stylesheet”/>
</head>
<body>
<script src=“http://style.china.alibaba.com/c.js”></script>
<script src=“http://style.china.alibaba.com/d|e.js”></script>
</body>
</html>
在另一种实施例中,样式解析数据可以只包括位置属性,并且该位置属性包含不同值,通过位置属性控制分组,如,程序代码5所示。
程序代码5:
<html>
<head>…..</head>
<body>
<link data-sc-pos=“head”href=”http://style.china.alibaba.com/f.css”rel=”stylesheet”/>
<link data-sc-pos=“footer”href=”http://style.china.alibaba.com/h.css”rel=”stylesheet”/>
<link data-sc-pos=“footer”href=”http://style.china.alibaba.com/g.css”rel=”stylesheet”/>
<script data-sc-pos=“footer”src=”http://style.china.alibaba.com/f.js”></script>
<script data-sc-pos=“head”src=”http://style.china.alibaba.com/h.js”></script>
<script data-sc-pos=“footer”src=”http://style.china.alibaba.com/g.js”></script>
在对该样式解析数据执行按分组进行合并操作时,只按照位置属性的值进行分组,即,将包含“head”的样式数据分为一组,将包含“footer”的样式数据分为一组,并将每组样式数据进行合并。
需要说明的是,在该样式解析数据中,具有同一值的样式数据由两种代码语言(CSS代码、JS代码)组成,所以,在两种代码间不考虑位置属性的因素,分别对样式数据中的样式地址按分组进行合并,得到组合样式数据,如程序代码6所述。
程序代码6:
<html>
<head>
<link href="http://style.china.alibaba.com/f.css”rel=”stylesheet”/>
<script src=“http://style.china.alibaba.com/h.js”></script>
</head>
<body>
<link href="http://style.china.alibaba.com/h|g.css”rel=”stylesheet”/>
<script src=“http://style.china.alibaba.com/f|g.js”></script>
</body>
将样式解析数据中的样式地址按分组进行合并,得到组合样式地址,有效地减少了样式地址条数,从而减少了终端与服务器之间的交互,减轻了服务器的数据处理压力。
在得到所述组合样式数据后,将该组合样式数据发送至所述终端,也即是说,将所述一个或多个组合样式地址发送至所述终端。所述终端接收到组合样式数据的数据包,并根据所述组合样式数据中包含的组合样式地址加载网页资源,网页资源加载完毕,所述终端对所述网页进行网页渲染,在进行网页渲染时,浏览器需要根据样式内容渲染网页,但是,由于所述终端中不包含所述组合样式地址的样式内容,无法渲染页面,所以,所述终端要向服务器发送样式渲染请求,该样式渲染请求的目的在于请求服务器向终端传送与每一个组合样式地址对应的样式内容,该样式内容包括:层叠样式表、JS代码等,并且该样式内容可以位于第二数据库中。所述层叠样式表和JS代码可以控制页面的布局、字体、颜色、背景、距离等等,该终端根据所述样式内容进行页面渲染。
图2为本申请实施例的基于网页样式地址合并的方法获取样式内容的流程图。
在步骤S202处,接收来自所述终端的样式渲染请求,其中,所述样式渲染请求中包含所述组合样式地址,并在步骤S204处,基于该组合样式地址,读取与该组合样式地址相对应的样式内容。在读取所述样式内容时,对该组合样式地址进行解析,如:
在语句<script scr=http://style.china.alibaba.com/a|b.js></script>中,解析出该语句的服务器域名为style.china.alibaba.com,所要获取的样式内容的路径为/a|b.js。将该组合样式地址从第三个“/”开始将“|”为标识的合并部分a|b.js拆分为地址段a.js和地址段b.js,每个地址段对应一个样式地址。
进一步地,解析所述组合样式地址,将所述组合样式地址拆分为多个地址段,并且每一个所述地址段对应所述多个样式地址中的一个样式地址,根据拆分后的多个地址段在服务器的第二数据库中读取对应的多个样式内容,即,根据所述多个地址段,读取所述多个地址段的多个样式内容,该样式内容包括:层叠样式表、JS代码等。优选地,第二数据库为样式数据库。
在步骤S206处,将所述样式内容发送至所述终端。
在另一种实施例中,服务器可以将多个地址段的多个样式内容汇集到一个文件中,并使该文件与多个地址段所对应的组合样式地址相对应,通过组合样式地址整体读取该文件中的样式内容,以简化样式内容的读取过程。
如图3所示,为本申请实施例的基于网页样式地址合并的方法获取样式内容的另一实施方式的流程图。
在步骤S302处,接收来自终端的样式渲染请求,解析所述样式渲染请求中包含的组合样式地址,将所述组合样式地址拆分为多个地址段,读取所述多个地址段的多个样式内容。在步骤S304处,将该组合样式地址转换为对应的路径,利用dm5算法,将该路径生成一段md5字符串,在第二数据库创建一个文件,并用该字符串命名该文件,将该文件作为与所述组合样式地址相对应的文件,利用该文件保存所述多个样式内容,该步骤可概括为,创建一个与所述组合样式地址相对应的文件,并将所述多个样式内容保存至所述文件中。其中,md5算法是将一段数据加密成一个32位长的字符串文本,如:ef8dead9cce9da95277431aa12291634_4371893471.js,该字符串文本具有单一性,即,不同的组合样式地址生成的字符串文本不相同。
在步骤S306处,查询与所述组合样式地址相对应的文件,读取所述文件中的样式内容,并在步骤S308处,将所述样式内容发送至所述终端。
所述终端根据接收到的样式内容渲染网页,最终展现给用户。
需要说明的是,上述服务器可以使用独立服务器,也可以使用多个服务器,如:动态服务器和样式服务器。所述动态服务器用于存储每个网页地址对应的网页内容数据,并负责将样式解析数据中样式地址按分组进行合并的操作;样式服务器用于存储每个样式地址对应的样式内容,并具有拆分组合样式地址的能力。
在现有技术中,所述终端需要将样式解析数据中所有样式地址并发发送给服务器,以获取对应的样式内容,本申请通过对样式地址进行合并的方式,减少了样式地址的数量,从而有效的降低了网络交互次数,提升了用户体验。
本申请还提供了一种网页样式地址合并的装置,参照图4所述为本申请实施例的网页样式地址合并的装置的模块图。
根据本申请的装置,可以包括接收模块410、查询模块420、解析模块430、提取模块440、以及合并模块450。
其中,接收模块410可以用于接收来自终端的网页请求。
该网页请求在终端开启网页时发出,其中,该网页请求中包含页面地址信息,查询模块420基于该网页请求确定网页内容数据,解析模块430解析该网页内容数据,找出该网页内容数据中的有用数据(样式数据),提取模块440,提取该有用数据(样式数据)中的样式地址和样式属性,合并模块450根据相应样式数据的样式地址和样式属性,对样式地址进行合并。
查询模块420,用于基于所述网页请求,确定与所述网页请求相对应的网页内容数据。
根据网页请求中包含的页面地址信息可以在服务器第一数据库中确定出一个与该网页请求相对应的网页内容数据,该网页内容数据包括多个原始样式数据,每一个原始样式数据包括数据标签、样式属性、样式地址等信息。
解析模块430,用于解析所述网页内容数据,得到多个样式数据。
该解析模块430需要对网页内容数据中的每一个原始样式数据进行解析,判断每一个原始样式数据的正确性和完整性,忽略存在错误语句和/或不完整语句的原始样式数据,将具有正确性和完整性的原始样式数据称为样式数据。
将已解析所述网页内容数据称为样式解析数据,在该样式解析数据中包含多个样式数据。
提取模块440,用于从所述多个样式数据中提取相应样式数据的样式地址和样式属性,从而可以得到多个样式地址和多个样式属性。
合并模块450,用于将多个所述样式地址进行合并,以得到一个或多个组合样式地址,其中所述组合样式地址的数量少于所述多个样式地址的数量。
由于提取模块440可以提取出相应样式数据的样式地址和样式属性,合并模块450基于所述多个样式地址的样式属性将所述多个样式地址进行合并,以得到组合样式地址。
由于对多个样式地址进行了合并,所以得到的组合样式地址数量少于所述多个样式地址,从而减少了服务器与终端之间的数据交互次数。
合并模块450将该组合样式地址发送至所述终端。
由于所述终端不具备该组合样式地址所指向的样式内容,不能以该组合样式地址渲染网页,所以会再次向服务器发送请求,该请求为样式渲染请求。
接收模块410还被配置成接收来自终端的样式渲染请求,其中,在该样式渲染请求中包括所述组合样式地址。
查询模块420还被配置成基于该组合样式地址,读取与该组合样式地址相对应的样式内容。
在查询模块420中,还包括:拆分单元421、读取单元422。
具体的,如图5所示的本申请实施例的图4中的查询模块420的单元框图。
拆分单元421用于解析所述组合样式地址,将所述组合样式地址拆分为多个地址段,并且每一个所述地址段对应所述多个样式地址中的一个样式地址。通过该拆分单元421将所述组合样式拆分的多个地址段,读取单元422,根据所述多个地址段,读取所述多个地址段的多个样式内容。
合并模块450将所述样式内容发送至所述终端。
在另一种实施例中,查询模块420还包括创建单元(未示出),该创建单元基于已解析的组合样式地址,创建一个与该组合样式地址相对应的文件,并将所述多个样式内容保存至该文件中。
接收模块410再次接收到来自终端的样式渲染请求时,拆分单元421解析该样式渲染请求中的组合样式地址,读取单元422通过查询与该组合样式地址相对应的文件,以读取所述文件中的样式内容。
合并模块450将该文件中的样式内容向所述终端发送。
由于图3和图4所描述的本申请的装置所包括的各个模块(含模块中包含的单元)的具体实施方式与本申请的方法中的步骤的具体实施方式是相对应的,由于已经对图1、图2和图3进行了详细的描述,所以为了不模糊本申请,在此不再对各个模块(含模块中包含的单元)的具体细节进行描述。
本说明书中的各个实施例一般采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块或单元。一般地,程序模块或单元可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。一般来说,程序模块或单元可以由软件、硬件或两者的结合来实现。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块或单元可以位于包括存储设备在内的本地和远程计算机存储介质中。
最后,还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其主要思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种网页样式地址合并的方法,其特征在于,包括:
接收来自终端的网页请求;
基于所述网页请求,确定与所述网页请求相对应的网页内容数据;
解析所述网页内容数据,得到多个样式数据;
从所述多个样式数据中提取相应样式数据的样式地址和样式属性;以及基于多个样式地址的样式属性将多个所述样式地址进行合并,以得到一个或多个组合样式地址;
其中,所述样式属性包括位置属性和分组属性,
所述基于多个样式地址的样式属性将多个所述样式地址进行合并,以得到一个或多个组合样式地址,包括:
按照多个样式地址的位置属性的值对所述多个样式地址进行分组,得到具有位置属性的样式地址分组;
将具有位置属性的样式地址分组再按照分组属性进行分组,并将得到的每一个分组的样式地址进行合并,得到一个或多个组合样式地址。
2.根据权利要求1所述的方法,其特征在于,还包括:
将所述一个或多个组合样式地址发送至所述终端。
3.根据权利要求2所述的方法,其特征在于,还包括:
接收来自所述终端的样式渲染请求,其中,所述样式渲染请求中包括所述组合样式地址;
基于所述组合样式地址,读取与所述组合样式地址相对应的样式内容;以及
将所述样式内容发送至所述终端。
4.根据权利要求3所述的方法,其特征在于,所述基于所述组合样式地址,读取与所述组合样式地址相对应的样式内容的步骤,还包括:
解析所述组合样式地址,将所述组合样式地址拆分为多个地址段,并且每一个所述地址段对应所述多个样式地址中的一个样式地址;
根据所述多个地址段,读取所述多个地址段的多个样式内容;以及
创建一个与所述组合样式地址相对应的文件,并将所述多个样式内容保存至所述文件中。
5.根据权利要求4所述的方法,其特征在于,所述基于所述组合样式地址,读取与所述组合样式地址相对应的样式内容的步骤,还包括:
查询与所述组合样式地址相对应的文件,读取所述文件中的样式内容。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述将多个所述样式地址进行合并,以得到一个或多个组合样式地址的步骤,包括:
所述组合样式地址的数量少于所述多个样式地址的数量。
7.一种网页样式地址合并的装置,其特征在于,包括:
接收模块,用于接收来自终端的网页请求;
查询模块,用于基于所述网页请求,确定与所述网页请求相对应的网页内容数据;
解析模块,用于解析所述网页内容数据,得到多个样式数据;
提取模块,用于从所述多个样式数据中提取相应样式数据的样式地址和样式属性;以及
合并模块,用于基于多个样式地址的样式属性将多个所述样式地址进行合并,以得到一个或多个组合样式地址;
其中,所述样式属性包括位置属性和分组属性,
所述基于多个样式地址的样式属性将多个所述样式地址进行合并,以得到一个或多个组合样式地址,包括:
按照多个样式地址的位置属性的值对所述多个样式地址进行分组,得到具有位置属性的样式地址分组;
将具有位置属性的样式地址分组再按照分组属性进行分组,并将得到的每一个分组的样式地址进行合并,得到一个或多个组合样式地址。
8.根据权利要求7所述的装置,其特征在于,还用于将所述组合样式地址发送至所述终端。
9.根据权利要求8所述的装置,其特征在于,
所述接收模块还被配置成接收来自所述终端的样式渲染请求,其中,所述样式渲染请求中包括所述组合样式地址;
所述查询模块还被配置成基于所述组合样式地址,读取与所述组合样式地址相对应的样式内容;以及
所述合并模块还被配置成将所述样式内容发送至所述终端。
10.根据权利要求9所述的装置,其特征在于,所述查询模块还包括:
拆分单元,用于解析所述组合样式地址,将所述组合样式地址拆分为多个地址段,并且每一个所述地址段对应所述多个样式地址中的一个样式地址;
读取单元,用于根据所述多个地址段,读取所述多个地址段的多个样式内容;以及
创建单元,用于创建一个与所述组合样式地址相对应的文件,并将所述多个样式内容保存至所述文件中。
11.根据权利要求10所述的装置,其特征在于,
所述读取单元还被配置成通过查询与所述组合样式地址相对应的文件以读取所述文件中的样式内容。
12.根据权利要求7-11任一项所述的装置,其特征在于,所述组合样式地址的数量少于所述多个样式地址的数量。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810175238.6A CN108595468A (zh) | 2013-03-22 | 2013-03-22 | 一种网页数据的获取方法、装置、服务器、终端和系统 |
CN201310095228.9A CN104063401B (zh) | 2013-03-22 | 2013-03-22 | 一种网页样式地址合并的方法和装置 |
TW102122366A TWI592807B (zh) | 2013-03-22 | 2013-06-24 | Method and device for web style address merge |
US14/219,932 US9563611B2 (en) | 2013-03-22 | 2014-03-19 | Merging web page style addresses |
JP2016504360A JP6203374B2 (ja) | 2013-03-22 | 2014-03-20 | ウェブページ・スタイルアドレスの統合 |
PCT/US2014/031323 WO2014153457A1 (en) | 2013-03-22 | 2014-03-20 | Merging web page style addresses |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310095228.9A CN104063401B (zh) | 2013-03-22 | 2013-03-22 | 一种网页样式地址合并的方法和装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810175238.6A Division CN108595468A (zh) | 2013-03-22 | 2013-03-22 | 一种网页数据的获取方法、装置、服务器、终端和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104063401A CN104063401A (zh) | 2014-09-24 |
CN104063401B true CN104063401B (zh) | 2018-02-02 |
Family
ID=51551117
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810175238.6A Pending CN108595468A (zh) | 2013-03-22 | 2013-03-22 | 一种网页数据的获取方法、装置、服务器、终端和系统 |
CN201310095228.9A Active CN104063401B (zh) | 2013-03-22 | 2013-03-22 | 一种网页样式地址合并的方法和装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810175238.6A Pending CN108595468A (zh) | 2013-03-22 | 2013-03-22 | 一种网页数据的获取方法、装置、服务器、终端和系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9563611B2 (zh) |
JP (1) | JP6203374B2 (zh) |
CN (2) | CN108595468A (zh) |
TW (1) | TWI592807B (zh) |
WO (1) | WO2014153457A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016061269A1 (en) * | 2014-10-15 | 2016-04-21 | Alibaba Group Holding Limited | Compression of cascading style sheet files |
CN105577719B (zh) | 2014-10-15 | 2019-11-05 | 阿里巴巴集团控股有限公司 | 一种数据压缩方法和装置 |
CN105574041B (zh) | 2014-10-16 | 2020-07-21 | 阿里巴巴集团控股有限公司 | 一种数据重组方法和装置 |
CN105630345B (zh) | 2014-11-06 | 2019-02-19 | 阿里巴巴集团控股有限公司 | 一种控制显示方向的方法和设备 |
CN106341367A (zh) * | 2015-07-06 | 2017-01-18 | 中兴通讯股份有限公司 | 一种内容植入的实现方法和装置 |
US10657315B2 (en) * | 2016-06-28 | 2020-05-19 | Sap Se | Generic and automated CSS scoping |
CN106294597B (zh) * | 2016-07-28 | 2019-09-20 | 百度在线网络技术(北京)有限公司 | 用于对网页的静态资源进行分组的方法和装置 |
CN106649499A (zh) * | 2016-10-10 | 2017-05-10 | 五矿电子商务有限公司 | 一种合并网页中背景图的方法和系统 |
CN111355803A (zh) * | 2020-03-04 | 2020-06-30 | 海南金盘智能科技股份有限公司 | 网页的传输方法、客户端和应用服务器 |
US11514121B2 (en) | 2020-08-10 | 2022-11-29 | International Business Machines Corporation | Webpage customization |
CN112231619A (zh) * | 2020-10-15 | 2021-01-15 | 北京三快在线科技有限公司 | 转换方法、装置、电子设备及存储介质 |
CN113656717B (zh) * | 2021-08-06 | 2024-05-28 | 上海硬通网络科技有限公司 | 一种网页的控件渲染方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2400407A1 (en) * | 2010-06-22 | 2011-12-28 | Blaze Software Inc | Method and system for automated analysis and transformation of web pages |
CN102622376A (zh) * | 2011-01-28 | 2012-08-01 | 北京千橡网景科技发展有限公司 | 用于合并层叠样式表文件的方法和设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5944790A (en) | 1996-07-19 | 1999-08-31 | Lucent Technologies Inc. | Method and apparatus for providing a web site having a home page that automatically adapts to user language and customs |
NZ566291A (en) * | 2008-02-27 | 2008-12-24 | Actionthis Ltd | Methods and devices for post processing rendered web pages and handling requests of post processed web pages |
US8612881B2 (en) | 2008-08-13 | 2013-12-17 | Microsoft Corporation | Web page content discovery |
US8990289B2 (en) | 2009-02-27 | 2015-03-24 | Oracle America, Inc. | Server based framework for improving Ajax performance |
US8321533B2 (en) | 2009-08-03 | 2012-11-27 | Limelight Networks, Inc. | Systems and methods thereto for acceleration of web pages access using next page optimization, caching and pre-fetching techniques |
CN102737067B (zh) * | 2011-04-15 | 2015-05-13 | 阿里巴巴集团控股有限公司 | 输出网页的方法和系统 |
-
2013
- 2013-03-22 CN CN201810175238.6A patent/CN108595468A/zh active Pending
- 2013-03-22 CN CN201310095228.9A patent/CN104063401B/zh active Active
- 2013-06-24 TW TW102122366A patent/TWI592807B/zh active
-
2014
- 2014-03-19 US US14/219,932 patent/US9563611B2/en active Active
- 2014-03-20 WO PCT/US2014/031323 patent/WO2014153457A1/en active Application Filing
- 2014-03-20 JP JP2016504360A patent/JP6203374B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2400407A1 (en) * | 2010-06-22 | 2011-12-28 | Blaze Software Inc | Method and system for automated analysis and transformation of web pages |
CN102622376A (zh) * | 2011-01-28 | 2012-08-01 | 北京千橡网景科技发展有限公司 | 用于合并层叠样式表文件的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
JP6203374B2 (ja) | 2017-09-27 |
CN108595468A (zh) | 2018-09-28 |
TW201437826A (zh) | 2014-10-01 |
US9563611B2 (en) | 2017-02-07 |
TWI592807B (zh) | 2017-07-21 |
CN104063401A (zh) | 2014-09-24 |
WO2014153457A1 (en) | 2014-09-25 |
US20140289612A1 (en) | 2014-09-25 |
JP2016518652A (ja) | 2016-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104063401B (zh) | 一种网页样式地址合并的方法和装置 | |
JP5695027B2 (ja) | Ajaxウェブページコンテンツを取得する方法およびシステム | |
US10452653B2 (en) | Automated extraction of data from web pages | |
CN104185845B (zh) | 用于提供网页的二进制表示的系统和方法 | |
CN106897251B (zh) | 富文本展示方法及装置 | |
CN107808010A (zh) | 一种弹窗页面生成方法、装置、浏览器及存储介质 | |
CN109032917B (zh) | 页面调试方法和系统、移动终端以及电脑端 | |
CN107766344B (zh) | 一种模板渲染的方法、装置及浏览器 | |
CN107678820B (zh) | 网页处理方法、装置、服务器、终端设备和介质 | |
KR20130066603A (ko) | 폰트 서브세트의 개시 | |
CN101369272A (zh) | 一种自动填充系统及自动填充注册或登录信息的方法 | |
CN104102577B (zh) | 多版本网页访问测试方法 | |
CN105094786A (zh) | 基于JavaScript定制页面的方法及系统 | |
CN110941950B (zh) | 接口文档的生成方法、装置、服务器及存储介质 | |
WO2014154033A1 (en) | Method and apparatus for extracting web page content | |
CN111831384A (zh) | 语言切换方法和装置、设备及存储介质 | |
CN106294885A (zh) | 一种面向异构网页的数据收集与标注方法 | |
CN103825772A (zh) | 识别用户点击行为的方法及网关设备 | |
US10095791B2 (en) | Information search method and apparatus | |
US20150248500A1 (en) | Documentation parser | |
CN108664511B (zh) | 获取网页信息方法和装置 | |
CN103885988A (zh) | 输出内容的方法及装置、内容输出系统 | |
CN110738024A (zh) | 将WebAPP转换为API服务接口的方法 | |
CN106033446B (zh) | 网页内容展示方法及网页内容展示装置 | |
US10809986B2 (en) | System and method for dynamic translation code optimization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |