CN111104587A - 网页显示方法、装置和服务器 - Google Patents
网页显示方法、装置和服务器 Download PDFInfo
- Publication number
- CN111104587A CN111104587A CN201811266651.XA CN201811266651A CN111104587A CN 111104587 A CN111104587 A CN 111104587A CN 201811266651 A CN201811266651 A CN 201811266651A CN 111104587 A CN111104587 A CN 111104587A
- Authority
- CN
- China
- Prior art keywords
- webpage
- rendering
- resource data
- source code
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供的一种网页显示方法、装置和服务器,其中,该方法包括:接收来自客户端的网页请求;获取网页请求对应的资源数据,该资源数据中包括网页描述;根据预设的渲染模板,对资源数据进行渲染处理,得到包含有网页描述的网页源码;将网页源码返回至客户端,以使该客户端基于网页源码显示网页页面。本发明在服务器实现网页渲染,将网页描述等内容写入网页源码;该方式有利于SEO搜索,便于搜索引擎从网页源码中直接抓取网页描述,从而可以提高网站在搜索引擎中的排名。
Description
技术领域
本发明涉及网页显示技术领域,尤其是涉及一种网页显示方法、装置和服务器。
背景技术
随着互联网的普及和发展,越来越多的公司或者个人建立自己的网站,以提高行业竞争力和知名度。为了增加网站浏览量,使网站被更多的客户看到,常常采用SEO(SearchEngine Optimization,搜索引擎优化)方式优化网站,即利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名。
通常,网页描述是网站的概括性内容,常常包含网站的核心关键词,是影响搜索引擎排名的重要因素,因此,通过网页描述优化SEO搜索是一种较为有效的提高搜索排名的方式。然而,现有的网页通常基于JS(JavaScript,一种脚本语言)开发,在用户浏览网页时,网页渲染在客户端实现,由JS动态渲染,从而将网页描述写入网页源码中;由于搜索引擎通常是从网站服务器中获取数据,且大多获取的是源码中的静态页面数据,这就导致搜索引擎抓取不到网站的网页描述,不利于优化SEO搜索。
发明内容
有鉴于此,本发明的目的在于提供一种网页显示方法、装置和服务器,以优化网站的SEO搜索,提高网站在搜索引擎中的排名。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种网页显示方法,该方法应用于服务器,该方法包括:接收来自客户端的网页请求;获取网页请求对应的资源数据,该资源数据中包括网页描述;根据预设的渲染模板,对资源数据进行渲染处理,得到包含有网页描述的网页源码;将网页源码返回至客户端,以使上述客户端基于该网页源码显示网页页面。
在本发明较佳的实施例中,上述获取网页请求对应的资源数据的步骤,包括:解析网页请求,得到资源定位信息;资源定位信息用于指示资源数据的存储位置;从所述资源定位信息指示的存储位置上获取资源数据。
在本发明较佳的实施例中,上述根据预设的渲染模板,对资源数据进行渲染处理的步骤,包括:获取与资源数据相匹配的渲染模板,该渲染模板包括多个DOM节点,以及多个DOM(document object model,文档对象模型)节点间的结构关系;从资源数据中提取各个DOM节点所需的元素数据,将元素数据写入对应的DOM节点的数据写入区域中,得到网页源码。
在本发明较佳的实施例中,上述从资源数据中提取各个DOM节点所需的元素数据的步骤,包括:获取各个DOM节点的标签名;将标签名作为关键字,从资源数据中查找与该关键字相匹配的元素数据;将查找到的元素数据作为DOM节点所需的元素数据。
在本发明较佳的实施例中,上述根据预设的渲染模板,对资源数据进行渲染处理的步骤包括:通过渲染函数render对资源数据进行初步渲染处理,得到HTML(HyperTextMarkup Language,超级文本标记语言)的静态页面源码;通过静态服务器将JS插件、层叠样式表CSS(Cascading Style Sheets,层叠样式表)和图片***至静态页面代码中,得到动态网页源码。
在本发明较佳的实施例中,上述将网页源码返回至客户端的步骤,包括:将静态页面源码或动态网页源码返回至客户端。
第二方面,本发明实施例提供了一种网页显示装置,该装置设置于服务器,该装置包括:接收模块,用于接收来自客户端的网页请求;获取模块,用于获取网页请求对应的资源数据,该资源数据中包括网页描述;渲染模块,用于根据预设的渲染模板,对资源数据进行渲染处理,得到包含有网页描述的网页源码;返回模块,用于将网页源码返回至客户端,以使该客户端基于上述网页源码显示网页页面。
在本发明较佳的实施例中,上述获取模块用于:解析网页请求,得到资源定位信息;资源定位信息用于指示资源数据的存储位置;从所述资源定位信息指示的存储位置上获取资源数据。
在本发明较佳的实施例中,上述渲染模块用于:获取与资源数据相匹配的渲染模板,该渲染模板包括多个DOM节点,以及多个DOM节点间的结构关系;从资源数据中提取各个DOM节点所需的元素数据,将元素数据写入对应的DOM节点的数据写入区域中,得到网页源码。
在本发明较佳的实施例中,上述渲染模块用于:获取各个DOM节点的标签名;将标签名作为关键字,从资源数据中查找与该关键字相匹配的元素数据;将查找到的元素数据作为DOM节点所需的元素数据。
在本发明较佳的实施例中,上述渲染模块用于:通过渲染函数render对资源数据进行初步渲染处理,得到HTML的静态页面源码;通过静态服务器将JS插件、层叠样式表CSS和图片***至静态页面代码中,得到动态网页源码。
在本发明较佳的实施例中,上述返回模块用于:将静态页面源码或动态网页源码返回至客户端。
第三方面,本发明实施例提供了一种服务器,该服务器包括存储器以及处理器,存储器用于存储支持处理器执行上述方法的程序,处理器被配置为用于执行存储器中存储的程序。
第四方面,本发明实施例提供了一种计算机存储介质,用于储存为上述装置所用的计算机软件指令。
本发明实施例带来了以下有益效果:
本发明实施例提供的一种网页显示方法、装置和服务器,接收到来自客户端的网页请求后,获取该网页请求对应的资源数据;再根据预设的渲染模板,对该资源数据进行渲染处理,得到包含有网页描述的网页源码;最后将该网页源码返回至客户端,以使该客户端基于网页源码显示网页页面。该方式中,在服务器实现网页渲染,将网页描述等内容写入网页源码;有利于SEO搜索,便于搜索引擎从网页源码中直接抓取网页描述,从而可以提高网站在搜索引擎中的排名。
本发明的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本发明的上述技术即可得知。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种网页显示的方法的流程图;
图2为本发明实施例提供的另一种网页显示的方法的流程图;
图3为本发明实施例提供的另一种网页显示的方法的流程图;
图4为本发明实施例提供的另一种网页显示的方法的流程图;
图5为本发明实施例提供的另一种网页显示方法的数据流向示意图;
图6为本发明实施例提供的一种网页显示的装置的结构示意图;
图7为本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
网页渲染是根据预先建立的渲染模板,将服务器中提取的数据进行解析排版,从而生成网页页面的过程。网页渲染通常是由客户端的浏览器实现,具体步骤包括利用JavaScript实现视觉变化、计算样式、布局、绘制像素、渲染层合并等过程。该过程中,由JS动态渲染,从而将网页描述写入网页源码中。
SEO搜索的目的是通过采用易于搜索引擎索引的合理手段,使网站各项基本要素适合搜索引擎检索原则,从而更容易被搜索引擎收录及优先排序。搜索引擎对网站进行检索通常是通过网络爬虫实现的;网络爬虫是一个自动提取程序,它为搜索引擎从各个网站服务器上下载网页;具体而言,网络爬虫从服务器中获取网页数据的静态内容,将这些静态内容存储为快照;由于搜索引擎每天都有海量的页面要进行抓取,执行JS动态脚本会大大降低执行效率;另外,搜索引擎执行JS脚本也存在这巨大的安全隐患,所以网络爬虫不执行JS脚本。因此,用户进行搜索时,搜索引擎通过查询快照上的静态内容生成搜索结果提供给用户。
由上述可知,网页描述由客户端JS动态渲染得到,因此,这种网页渲染方式导致搜索引擎抓取不到网站的网页描述,不利于优化SEO搜索。基于此,本发明实施例提供的一种网页显示方法、装置和服务器;该技术可以应用于网站通过优化SEO搜索,提高网页排名的过程中,下面结合实施例进行详细说明。
本发明实施例首先提供了一种网页显示方法,如图1所示,该方法应用于服务器,具体可以为后端服务器,该服务器可以为node服务器,也可以是slb服务器或其他类型的网站服务器;该方法包括如下步骤:
步骤S102,接收来自客户端的网页请求;
其中,该客户端可以为手机、电脑等设备;用户想要登录某个网站或浏览某个网页时,通过设备上的浏览器输入网站的关键字、该网站的网址或点击网页的标签,浏览器即生成上述网页请求,该网页请求中通常包含网站或网页的地址、标识,用于服务器查找网站或网页的相关数据。当然,用户也可以通过其他应用程序输入上述网站的关键字或网址,由该应用程序生成网页请求。该网页请求生成后,客户端即可发起RPC(Remote ProcedureCall,远程过程调用)调用,通过该RPC调用,将网页请求通过网页代理服务器(如Nginx服务器)发送至服务器。
步骤S104,获取网页请求对应的资源数据,该资源数据中包括网页描述;
服务器接收到网页请求后,通常会先分析请求的路径,对该路径进行校验,以确认该路径是否合法;该路由合法后,再从数据库中获取对应的资源数据;具体地,服务器根据网页请求的路径,分析具体需要从数据库中提取哪些数据,进而再从数据库中提取数据。通常,服务器通过WEB(World Wide Web,万维网)应用开发平台连接服务器,因此,服务器可以先生成数据提取请求,将该请求发送至WEB应用开发平台,该WEB应用开发平台根据该请求提取到对应的数据后,再将这些数据返回至服务器。
上述网页描述可以让用户了解网页或网站的用途,网页描述的具体内容由网站管理人员编写,常常涉及该网页的核心关键词;该网页描述包含在该网页对应的资源数据中,客户端调取网页的资源数据时,其对应的网页描述也同时会调取。
步骤S106,根据预设的渲染模板,对资源数据进行渲染处理,得到包含有网页描述的网页源码;
上述预设的渲染模板预先保存在服务器中;由于每个(或每类)网页的排版风格、显示内容不同,所以渲染模板和网页通常具有对应关系;具体可以在服务器中建立一个模板库,用于保存各网页对应的渲染模板;服务器获取到资源数据后,可以从该资源数据中提取网页标识,再根据该网页标识从上述模版库中查找到对应的模板。
对资源数据进行渲染处理时,具体可以先将资源数据中的静态数据填充至渲染模板中,生成静态的HTML页面;再将JS脚本、CSS(Cascading Style Sheets,层叠样式表)、图片等动态数据添加至HTML页面,生成最终的页面源码;该页面源码即可发送至客户端。上述网页描述一般不属于静态数据,通常以JS脚本的形式写入至网页源码中。
步骤S108,将网页源码返回至客户端,以使该客户端基于网页源码显示网页页面。
在实际实现时,如果上述网页请求是客户端通过网页代理服务器发送至服务器,则上述网页源码通常由该网页代理服务器发送至客户端,客户端收到网页源码后,对该网页源码进行可视化处理(也可以称为可视化渲染),并通过浏览器或应用程序显示出来。
本发明实施例提供的上述网页显示方法,接收到来自客户端的网页请求后,获取该网页请求对应的资源数据;再根据预设的渲染模板,对该资源数据进行渲染处理,得到包含有网页描述的网页源码;最后将该网页源码返回至客户端,以使该客户端基于网页源码显示网页页面。该方式中,在服务器实现网页渲染,将网页描述等内容写入网页源码;有利于SEO搜索,便于搜索引擎从网页源码中直接抓取网页描述,从而可以提高网站在搜索引擎中的排名。
本发明实施例还提供了另一种网页显示方法,该方法在上述方法的基础上实现,该方法进一步描述了获取资源数据的具体过程;该方法中,以服务器为node服务器为例进行说明;该node服务器是一种基于MVC(Model View Controller,模型-视图-控制器)架构,用于实现网页的渲染过程。
如图2所示,该方法包括如下步骤:
步骤S202,接收来自客户端的网页请求;
步骤S204,解析该网页请求,得到资源定位信息;该资源定位信息用于指示资源数据的存储位置;
该网页请求具体可以为HTTP(HyperText Transfer Protocol,超文本传输协议)请求;该资源定位信息具体可以为从该HTTP请求中提取出的URL(Uniform ResourceLocator,统一资源定位符)路径,当然还可以为其他用于指示资源数据位置的信息;另外,该网页请求还可以携带有用于提取数据的其他参数,例如,用于指示数据提取具体方式的GET参数和POST参数等。
步骤S206,从所述资源定位信息指示的存储位置上获取资源数据,该资源数据包括网页描述;
具体而言,当资源定位信息为URL路径时,资源定位信息中通常包含服务器标识(如服务器名称或服务器IP地址)、到达待获取数据的路径和数据名称等信息;该服务器标识表征了待获取的数据存储在哪个服务器上;通过对资源定位信息进行解析,可以确认具体需要返回哪些资源数据,即需要从确定的服务器中获取哪些资源数据。该过程可以通过index.js插件或其他可以计算URL路径的插件实现,插件的输出结果可以为资源数据的摘要值,也可以为存储位置;进而再根据该输出结果,从确定的服务器中获取数据;当插件的输出结果可以为资源数据的摘要值时,服务器也可以根据该摘要值计算得到资源数据的存储位置,再获取该资源数据。
具体可以通过getData.js插件或remoteApi.js插件,通过.NET、PHP、JAVA等WEB应用开发平台从确定的服务器中获取资源数据。
步骤S208,根据预设的渲染模板,对资源数据进行渲染处理,得到包含有网页描述的网页源码;
步骤S210,将网页源码返回至客户端。
上述方式中,通过解析网页请求可以获得对应的资源定位信息,再从对应的服务器中得到对应的资源数据,从而可以较为准确快速地调取网页所需的资源数据,网页数据资源响应较快,从而有利于网页的整体渲染和显示的效率。
本发明实施例还提供了另一种网页显示方法,该方法在上述方法的基础上实现,该方法进一步描述了根据渲染模板对资源数据进行渲染处理的具体过程;如图3所示,该方法包括如下步骤:
步骤S302,接收来自客户端的网页请求;
步骤S304,解析该网页请求,得到资源定位信息;该资源定位信息用于指示资源数据的存储位置;
步骤S306,根据上述资源定位信息中包含的服务器标识,确定待查找的服务器;从确定的服务器中获取存储在存储位置上的资源数据;该资源数据包括网页描述;
步骤S308,获取与资源数据相匹配的渲染模板,该渲染模板包括多个DOM(Document Object Model,文档对象模型)节点,以及多个DOM节点间的结构关系;
在HTML网页中,页面数据中的每个元素、事物都定义为DOM节点,而DOM节点间的结构关系表明了各个元素、事物的位置关系、层叠关系或者显示顺序关系等;DOM节点间的结构关系具体可以以节点树的形式设置,该节点树下,根节点可以有多级子节点,末级子节点中通常包含具体的元素数据,该元素数据可以从上述资源数据中提取得到。
步骤S310,从资源数据中提取各个所述DOM节点所需的元素数据,将该元素数据写入对应的DOM节点的数据写入区域中,得到网页源码。
上述步骤S310中,从资源数据中提取各个所述DOM节点所需的元素数据的过程,具体可以通过下述方式实现:
步骤(1),获取各个DOM节点的标签名;
其中,该标签名可以为DOM节点的关键字,也可以为DOM节点的ID标识(例如,定义文本、图片、音频、视频的标识),当然也可以为其他可以表明该DOM节点元素数据的标签。
步骤(2),将标签名作为关键字,从资源数据中查找相匹配的元素数据;
该资源数据中通常包含上述网页请求对应的页面的全部元素数据,且每个元素数据均设置有对应的关键字,用于查找。另外,为了提取方便,各个元素数据可以按照类型分别存储;在提取过程中,可以优先提取文本类型的元素数据,再提取图片、CSS层叠样式表等数据;该方式也有利于在网络信号较差的情况下,供用户读取文字内容。
步骤(3),将查找到的元素数据作为DOM节点所需的元素数据;
在实际查找过程中,可以按照渲染模板中,各DOM节点出现的先后顺序,从资源数据中逐一查找对应的元素数据;也可以根据资源数据中,元素数据的保存顺序,依次将各元素数据填充至上述渲染模板的各个DOM节点中。
另外,每个DOM节点,尤其是末级DOM节点都配置有数据写入区域,在网页源码中,该数据写入区域可以有尖括号“<>”表示。该页面所用到的DOM节点所需的元素数据都填充至对应的数据写入区域后,即生成该页面的网页源码。
步骤S312,将网页源码返回至客户端。
该网页源码也可以称为网页代码,由服务器生成,客户端接收到的是网页渲染完成后,真实的网页源码数据;经过上述渲染处理后,网页描述也被写入网页源码中,搜索引擎可以从该网页源码中抓取到网页描述,有利于网页的SEO搜索优化。
上述方式中,通过渲染模板中各个DOM节点的标签名,可以从资源数据中提取各个DOM节点所需的资源数据,并填入对应的数据写入区域中,从而得到网页源码;该方式中,在服务器实现网页渲染,将网页描述等内容写入网页源码;有利于SEO搜索,便于搜索引擎抓取网页描述,从而可以提高网站在搜索引擎中的排名。
本发明实施例还提供了另一种网页显示方法,该方法在上述方法的基础上实现,该方法进一步描述了根据渲染模板对资源数据进行渲染处理的过程中,各个插件的使用方式;图4所示为该网页显示方法的流程图;图5所示为该网页显示方法的数据流向示意图;下面结合图4和图5对该方法进行具体描述。
如图4所示,该方法包括如下步骤:
步骤S402,接收来自客户端的网页请求;
具体而言,用户从浏览器触发网页请求;该网页请求经网页代理服务器Nginx转发至node服务器,本实施例中,以网页请求为HTTP请求为例进行说明。
步骤S404,解析网页请求,得到资源定位信息;该资源定位信息用于指示资源数据的存储位置;
如图5所示,node服务器接收到HTTP请求后,node服务器中的server/router.js用于从该HTTP请求中提取URL路径,GET参数或POST参数;其中的URL路径即为一种具体的资源定位信息。
步骤S406,根据上述资源定位信息中包含的服务器标识,确定待查找的服务器;从确定的服务器中获取存储在存储位置上的资源数据;该资源数据包括网页描述;
如图5中,具体可以通过app/mvc/controller/index.js等插件计算上述URL路径,得到具体需要返回的数据;通过server/base/getData.js或者server/base/remoteApi.js插件获取数据;具体地,server/base/getData.js或者server/base/remoteApi.js插件通过.NET、PHP、JAVA等WEB应用开发平台从数据库中获取相应的数据。
步骤S408,通过渲染函数render对资源数据进行初步渲染处理,得到HTML的静态页面源码;
在实际实现时,可以先通过app/mvc/view/index.html插件从预选存储的渲染模板中(例如上述模板库)获取该网页请求对应的渲染模板;上述渲染函数render全称可以为server/base/render.js,该渲染函数render将资源数据和对应的渲染模板进行结合渲染(相当于上述初步渲染处理),得到HTML的静态页面源码。
步骤S410,通过静态服务器将JS插件、层叠样式表CSS和图片***至静态页面代码中,得到动态网页源码;
该静态服务器具体可以通过server/jserver/jserver.js插件实现,通过该插件,可以将上述JS插件、层叠样式表CSS和图片等动态的元素数据***至上述HTML的静态页面源码中,得到该动态网页源码。
步骤S412,将静态页面源码或动态网页源码返回至客户端。
在实际实现时,可以将静态页面源码或动态网页源码之一返回至客户端;例如,由于静态页面源码仅包含网页中的文本内容,数据量较少,在网络信号不佳时,可以仅返回静态页面源码,供用户查看网页中的文本数据;在网络信号较强时,可以返回动态网页源码,以供用户查看内容完整的网页数据,同时,还可以通过层叠样式表CSS实现用户与网页的互动。
上述方式中,通过多种插件实现网页数据的静态渲染和动态渲染,在动态渲染的过程中,网页描述作为资源数据的一部分,写入至网页源码中;该方式有利于SEO搜索,便于搜索引擎抓取网页描述,从而可以提高网站在搜索引擎中的排名。
另外,上述实施例描述的这种网页显示方法还可以实现网页开发的前端和后端分离;其中,前端可以为浏览器,后端可以为node服务器,当然也可以为其他网站服务器;后端从存储数据的服务器中提取出资源数据,并渲染完成后,将网页源码发送至前端;前端可以直接显示该网页源码,或对该网页源码进行二次加工(例如,根据显示器的大小对网页排版进行适应性修改等);相对于现有技术中,后端静态渲染,前端动态渲染的方式,前后端的研发需要相互配合;而上述方式中,前端和后端的过程相对分离,可以在研发过程中前端和后端并行进行,从而提高了网页架构的研发效率,同时也有利于网站的维护。
需要说明的是,上述各方法实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
对应于上述方法实施例,本发明实施例提供了一种网页显示装置,该装置设置于服务器,如图6所示,该装置包括:
接收模块60,用于接收来自客户端的网页请求;
获取模块61,用于获取网页请求对应的资源数据,该资源数据中包括网页描述;
渲染模块62,用于根据预设的渲染模板,对资源数据进行渲染处理,得到包含有网页描述的网页源码;
返回模块63,用于将网页源码返回至客户端,以使该客户端基于网页源码显示网页页面。
上述获取模块,该模块用于:解析网页请求,得到资源定位信息;资源定位信息用于指示资源数据的存储位置;从所述资源定位信息指示的存储位置上获取资源数据,具体的,根据资源定位信息中包含的服务器标识,确定待查找的服务器;从确定的服务器中获取存储在存储位置上的资源数据。
上述渲染模块,该模块用于:获取与资源数据相匹配的渲染模板,该渲染模板包括多个DOM节点,以及多个DOM节点间的结构关系;从资源数据中提取各个DOM节点所需的元素数据,将元素数据写入对应的DOM节点的数据写入区域中,得到网页源码。
上述渲染模块,用于:获取各个DOM节点的标签名;将标签名作为关键字,从资源数据中查找相匹配的元素数据;将查找到的元素数据作为DOM节点所需的元素数据。
上述渲染模块,用于:通过渲染函数render对资源数据进行初步渲染处理,得到HTML的静态页面源码;通过静态服务器将JS插件、层叠样式表CSS和图片***至静态页面代码中,得到动态网页源码。
对应于上述装置,该返回模块,用于:将静态页面源码或动态网页源码返回至客户端。
本发明实施例提供的上述网页显示装置,接收到来自客户端的网页请求后,获取该网页请求对应的资源数据;再根据预设的渲染模板,对该资源数据进行渲染处理,得到包含有网页描述的网页源码;最后将该网页源码返回至客户端,以使该客户端基于网页源码显示网页页面。该方式中,在服务器实现网页渲染,将网页描述等内容写入网页源码;有利于SEO搜索,便于搜索引擎抓取网页描述,从而可以提高网站在搜索引擎中的排名。
本实施例提供了一种与上述方法实施例相对应的服务器。图7为该服务器的结构示意图,如图7所示,该设备包括处理器701和存储器702;其中,存储器702用于存储一条或多条计算机指令,一条或多条计算机指令被处理器执行,以实现上述网页显示方法。
图7所示的服务器还包括总线703和转发芯片704,处理器701、转发芯片704和存储器702通过总线703连接。该服务器可以是网络边缘设备。
其中,存储器702可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。总线703可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
转发芯片704用于通过网络接口与至少一个用户终端及其它网络单元连接,将封装好的IPv4报文或IPv6报文通过网络接口发送至用户终端。
处理器701可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器701中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器701可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器702,处理器701读取存储器702中的信息,结合其硬件完成前述实施例的方法的步骤。
本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述网页显示方法,具体实现可参见方法实施例,在此不再赘述。
本发明实施例所提供的服务器,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
最后应说明的是:以上所述实施例,仅为本发明的具体实施例,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (14)
1.一种网页显示方法,其特征在于,所述方法应用于服务器,所述方法包括:
接收来自客户端的网页请求;
获取所述网页请求对应的资源数据,所述资源数据中包括网页描述;
根据预设的渲染模板,对所述资源数据进行渲染处理,得到包含有所述网页描述的网页源码;
将所述网页源码返回至所述客户端,以使所述客户端基于所述网页源码显示网页页面。
2.根据权利要求1所述的方法,其特征在于,所述获取所述网页请求对应的资源数据的步骤,包括:
解析所述网页请求,得到资源定位信息;所述资源定位信息用于指示资源数据的存储位置;
从所述资源定位信息指示的存储位置上获取资源数据。
3.根据权利要求1所述的方法,其特征在于,所述根据预设的渲染模板,对所述资源数据进行渲染处理的步骤,包括:
获取与所述资源数据相匹配的渲染模板,所述渲染模板包括多个DOM节点,以及多个所述DOM节点间的结构关系;
从所述资源数据中提取各个所述DOM节点所需的元素数据,将所述元素数据写入对应的DOM节点的数据写入区域中,得到网页源码。
4.根据权利要求3所述的方法,其特征在于,所述从所述资源数据中提取各个所述DOM节点所需的元素数据的步骤,包括:
获取各个所述DOM节点的标签名;
将所述标签名作为关键字,从所述资源数据中查找与所述关键字相匹配的元素数据;
将查找到的所述元素数据作为所述DOM节点所需的元素数据。
5.根据权利要求1所述的方法,其特征在于,所述根据预设的渲染模板,对所述资源数据进行渲染处理的步骤包括:
通过渲染函数render对所述资源数据进行初步渲染处理,得到HTML的静态页面源码;
通过静态服务器将JS插件、层叠样式表CSS和图片***至所述静态页面代码中,得到动态网页源码。
6.根据权利要求5所述的方法,其特征在于,所述将所述网页源码返回至所述客户端的步骤,包括:
将所述静态页面源码或所述动态网页源码返回至所述客户端。
7.一种网页显示装置,其特征在于,所述装置设置于服务器,所述装置包括:
接收模块,用于接收来自客户端的网页请求;
获取模块,用于获取所述网页请求对应的资源数据,所述资源数据中包括网页描述;
渲染模块,用于根据预设的渲染模板,对所述资源数据进行渲染处理,得到包含有所述网页描述的网页源码;
返回模块,用于将所述网页源码返回至所述客户端,以使所述客户端基于所述网页源码显示网页页面。
8.根据权利要求7所述的装置,其特征在于,所述获取模块用于:
解析所述网页请求,得到资源定位信息,所述资源定位信息用于指示资源数据的存储位置;
从所述资源定位信息指示的存储位置上获取资源数据。
9.根据权利要求7所述的装置,其特征在于,所述渲染模块用于:
获取与所述资源数据相匹配的渲染模板,所述渲染模板包括多个DOM节点,以及多个所述DOM节点间的结构关系;
从所述资源数据中提取各个所述DOM节点所需的元素数据,将所述元素数据写入对应的DOM节点的数据写入区域中,得到网页源码。
10.根据权利要求9所述的装置,其特征在于,所述渲染模块用于:
获取各个所述DOM节点的标签名;
将所述标签名作为关键字,从所述资源数据中查找与所述关键字相匹配的元素数据;
将查找到的所述元素数据作为所述DOM节点所需的元素数据。
11.根据权利要求7所述的装置,其特征在于,所述渲染模块用于:
通过渲染函数render对所述资源数据进行初步渲染处理,得到HTML的静态页面源码;
通过静态服务器将JS插件、层叠样式表CSS和图片***至所述静态页面代码中,得到动态网页源码。
12.根据权利要求11所述的装置,其特征在于,所述返回模块用于:
将所述静态页面源码或所述动态网页源码返回至所述客户端。
13.一种服务器,其特征在于,所述服务器包括存储器以及处理器,所述存储器用于存储支持处理器执行权利要求1至6任一项所述方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。
14.一种计算机存储介质,其特征在于,用于储存为权利要求7至12任一项所述装置所用的计算机软件指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811266651.XA CN111104587A (zh) | 2018-10-26 | 2018-10-26 | 网页显示方法、装置和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811266651.XA CN111104587A (zh) | 2018-10-26 | 2018-10-26 | 网页显示方法、装置和服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111104587A true CN111104587A (zh) | 2020-05-05 |
Family
ID=70419757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811266651.XA Pending CN111104587A (zh) | 2018-10-26 | 2018-10-26 | 网页显示方法、装置和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111104587A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111475764A (zh) * | 2020-06-29 | 2020-07-31 | 平安国际智慧城市科技股份有限公司 | 搜索引擎优化方法、装置、终端及存储介质 |
CN111708594A (zh) * | 2020-06-09 | 2020-09-25 | 北京达佳互联信息技术有限公司 | 页面渲染方法、装置、电子设备及存储介质 |
CN112016014A (zh) * | 2020-08-18 | 2020-12-01 | 北京达佳互联信息技术有限公司 | 网页显示、网页资源生成方法、装置、电子设备及介质 |
CN112418902A (zh) * | 2020-06-16 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 基于网页的多媒体合成方法和*** |
CN112861054A (zh) * | 2021-02-05 | 2021-05-28 | 百果园技术(新加坡)有限公司 | 网页处理方法、装置、计算机可读存储介质及电子设备 |
CN113468456A (zh) * | 2021-07-12 | 2021-10-01 | 工银科技有限公司 | 网页渲染方法及装置、电子设备和计算机可读存储介质 |
CN114610305A (zh) * | 2022-03-11 | 2022-06-10 | 数坤科技(宁波)有限公司 | 隐形网页资源的开发方法、装置、电子设备及介质 |
WO2023142578A1 (zh) * | 2022-01-25 | 2023-08-03 | 腾讯科技(深圳)有限公司 | 网页页面的渲染方法、装置、设备及存储介质 |
CN116991506A (zh) * | 2023-09-28 | 2023-11-03 | 腾讯科技(深圳)有限公司 | 一种网页渲染方法、装置、终端和存储介质 |
CN118113409A (zh) * | 2024-04-30 | 2024-05-31 | 腾讯科技(深圳)有限公司 | 一种内容渲染方法和相关装置 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102487402A (zh) * | 2010-12-03 | 2012-06-06 | 腾讯科技(深圳)有限公司 | 由服务器端实现网页渲染的方法、设备和*** |
US8438149B1 (en) * | 2010-09-21 | 2013-05-07 | Amazon Technologies, Inc. | Generating network pages for search engines |
CN103970882A (zh) * | 2014-05-19 | 2014-08-06 | 小米科技有限责任公司 | 渲染页面的方法及装置 |
US20140325337A1 (en) * | 2013-04-30 | 2014-10-30 | Adobe Systems Incorporated | Content request with http request-header rendering template that is independent of content storage location |
CN105912693A (zh) * | 2016-04-22 | 2016-08-31 | 北京搜狗科技发展有限公司 | 网络请求处理方法、网络数据获取方法、装置及服务器 |
CN105955730A (zh) * | 2016-04-26 | 2016-09-21 | 浪潮电子信息产业股份有限公司 | 一种ssr集中管理平台报表的方法 |
CN107678820A (zh) * | 2017-09-29 | 2018-02-09 | 北京金山安全软件有限公司 | 网页处理方法、装置、服务器、终端设备和介质 |
CN107729531A (zh) * | 2017-10-27 | 2018-02-23 | 深圳市行云易通科技有限公司 | 一种动态渲染类网页优化方法 |
CN107766344A (zh) * | 2016-08-15 | 2018-03-06 | 阿里巴巴集团控股有限公司 | 一种模板渲染的方法、装置及浏览器 |
CN107766532A (zh) * | 2017-10-27 | 2018-03-06 | 深圳市行云易通科技有限公司 | 一种前端Node.js自动化正静态方法 |
US20180210715A1 (en) * | 2017-01-25 | 2018-07-26 | Wal-Mart Stores, Inc. | Systems, method, and non-transitory computer-readable storage media for generating code for displaying a webpage |
US20180210866A1 (en) * | 2017-01-25 | 2018-07-26 | Wal-Mart Stores, Inc. | Systems, method, and non-transitory computer-readable storage media for generating code for displaying a webpage |
-
2018
- 2018-10-26 CN CN201811266651.XA patent/CN111104587A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8438149B1 (en) * | 2010-09-21 | 2013-05-07 | Amazon Technologies, Inc. | Generating network pages for search engines |
CN102487402A (zh) * | 2010-12-03 | 2012-06-06 | 腾讯科技(深圳)有限公司 | 由服务器端实现网页渲染的方法、设备和*** |
US20140325337A1 (en) * | 2013-04-30 | 2014-10-30 | Adobe Systems Incorporated | Content request with http request-header rendering template that is independent of content storage location |
CN103970882A (zh) * | 2014-05-19 | 2014-08-06 | 小米科技有限责任公司 | 渲染页面的方法及装置 |
CN105912693A (zh) * | 2016-04-22 | 2016-08-31 | 北京搜狗科技发展有限公司 | 网络请求处理方法、网络数据获取方法、装置及服务器 |
CN105955730A (zh) * | 2016-04-26 | 2016-09-21 | 浪潮电子信息产业股份有限公司 | 一种ssr集中管理平台报表的方法 |
CN107766344A (zh) * | 2016-08-15 | 2018-03-06 | 阿里巴巴集团控股有限公司 | 一种模板渲染的方法、装置及浏览器 |
US20180210715A1 (en) * | 2017-01-25 | 2018-07-26 | Wal-Mart Stores, Inc. | Systems, method, and non-transitory computer-readable storage media for generating code for displaying a webpage |
US20180210866A1 (en) * | 2017-01-25 | 2018-07-26 | Wal-Mart Stores, Inc. | Systems, method, and non-transitory computer-readable storage media for generating code for displaying a webpage |
CN107678820A (zh) * | 2017-09-29 | 2018-02-09 | 北京金山安全软件有限公司 | 网页处理方法、装置、服务器、终端设备和介质 |
CN107729531A (zh) * | 2017-10-27 | 2018-02-23 | 深圳市行云易通科技有限公司 | 一种动态渲染类网页优化方法 |
CN107766532A (zh) * | 2017-10-27 | 2018-03-06 | 深圳市行云易通科技有限公司 | 一种前端Node.js自动化正静态方法 |
Non-Patent Citations (1)
Title |
---|
WUHONGXU: "react-server-side-render 最新学习与实践", pages 1 - 9, Retrieved from the Internet <URL:https://ld246.com/article/1521615160212> * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708594B (zh) * | 2020-06-09 | 2023-08-29 | 北京达佳互联信息技术有限公司 | 页面渲染方法、装置、电子设备及存储介质 |
CN111708594A (zh) * | 2020-06-09 | 2020-09-25 | 北京达佳互联信息技术有限公司 | 页面渲染方法、装置、电子设备及存储介质 |
CN112418902A (zh) * | 2020-06-16 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 基于网页的多媒体合成方法和*** |
CN111475764A (zh) * | 2020-06-29 | 2020-07-31 | 平安国际智慧城市科技股份有限公司 | 搜索引擎优化方法、装置、终端及存储介质 |
CN112016014A (zh) * | 2020-08-18 | 2020-12-01 | 北京达佳互联信息技术有限公司 | 网页显示、网页资源生成方法、装置、电子设备及介质 |
CN112016014B (zh) * | 2020-08-18 | 2023-12-26 | 北京达佳互联信息技术有限公司 | 网页显示、网页资源生成方法、装置、电子设备及介质 |
CN112861054A (zh) * | 2021-02-05 | 2021-05-28 | 百果园技术(新加坡)有限公司 | 网页处理方法、装置、计算机可读存储介质及电子设备 |
CN113468456A (zh) * | 2021-07-12 | 2021-10-01 | 工银科技有限公司 | 网页渲染方法及装置、电子设备和计算机可读存储介质 |
CN113468456B (zh) * | 2021-07-12 | 2022-04-22 | 工银科技有限公司 | 网页渲染方法及装置、电子设备和计算机可读存储介质 |
WO2023142578A1 (zh) * | 2022-01-25 | 2023-08-03 | 腾讯科技(深圳)有限公司 | 网页页面的渲染方法、装置、设备及存储介质 |
CN114610305A (zh) * | 2022-03-11 | 2022-06-10 | 数坤科技(宁波)有限公司 | 隐形网页资源的开发方法、装置、电子设备及介质 |
CN114610305B (zh) * | 2022-03-11 | 2023-11-10 | 数坤科技(宁波)有限公司 | 隐形网页资源的开发方法、装置、电子设备及介质 |
CN116991506A (zh) * | 2023-09-28 | 2023-11-03 | 腾讯科技(深圳)有限公司 | 一种网页渲染方法、装置、终端和存储介质 |
CN116991506B (zh) * | 2023-09-28 | 2024-04-30 | 腾讯科技(深圳)有限公司 | 一种网页渲染方法、装置、终端和存储介质 |
CN118113409A (zh) * | 2024-04-30 | 2024-05-31 | 腾讯科技(深圳)有限公司 | 一种内容渲染方法和相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111104587A (zh) | 网页显示方法、装置和服务器 | |
US10776447B2 (en) | Digital communications platform for webpage overlay | |
CN109614569B (zh) | 页面渲染方法、装置及智能终端 | |
CN103873918B (zh) | 图片处理方法、装置及终端 | |
CN102779167B (zh) | 在移动终端中显示网页的方法及*** | |
CN106126693B (zh) | 一种网页的相关数据的发送方法及装置 | |
TWI670611B (zh) | 網頁文件發送方法、網頁渲染方法及裝置、網頁渲染系統 | |
CN107766344B (zh) | 一种模板渲染的方法、装置及浏览器 | |
CN110221871B (zh) | 网页获取方法、装置、计算机设备及存储介质 | |
CN108334508B (zh) | 网页信息的提取方法和装置 | |
CN110222251B (zh) | 一种基于网页分割和搜索算法的服务包装方法 | |
WO2011088724A1 (zh) | 一种实现从网页中订阅信息的方法及装置 | |
CN104572777A (zh) | 基于UIWebView组件的网页加载方法及装置 | |
US11064052B2 (en) | Page insertion method and device | |
WO2015003664A1 (zh) | 一种下载处理方法、装置、服务器及客户端设备 | |
CN105740417A (zh) | 一种基于网页的目标数据搜索方法、模块、浏览器及终端 | |
CN103838862A (zh) | 一种视频搜索的方法、装置及终端 | |
US10198408B1 (en) | System and method for converting and importing web site content | |
CN112468550A (zh) | 文件下载方法、装置和电子设备 | |
CN112187622A (zh) | 即时消息的展示方法、装置及服务器 | |
CN107508705B (zh) | 一种http元素的资源树构建方法及计算设备 | |
CN102982078A (zh) | 一种排序网址的加载方法和加载有排序网址的客户端 | |
CN107066510B (zh) | 一种信息处理方法及装置 | |
CN105808727A (zh) | 基于html5的网站跨屏适配技术架构和适配方法 | |
CN110889027A (zh) | 访问网页页面的方法、装置、终端设备及服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |