服务器端浏览器实现方法及服务器技术

技术编号:8452682 阅读:191 留言:0更新日期:2013-03-21 12:20
本发明专利技术公开了一种服务器端浏览器实现方法及服务器。该方法包括:接收客户端浏览器发送的启动请求,在服务器端启动一个与客户端浏览器相对应的服务器端浏览器,并向客户端浏览器发送启动成功响应;获取客户端浏览器发送的用户对客户端浏览器输入的信息和输入焦点位置信息,根据信息和输入焦点位置信息对服务器端浏览器执行相应处理,并将操作结果信息发送到客户端浏览器。借助于本发明专利技术的技术方案,能够有效降低客户端侧的数据处理负担,在响应速度快,流量消耗少的情况下,还能保证很好的渲染效果,同时支持所有的用户操作,减轻了对用户终端软硬件的配置要求,给用户提供了很好的上网环境,保证用户的上网安全。

【技术实现步骤摘要】
服务器端浏览器实现方法及服务器
本专利技术涉及通讯领域,特别是涉及一种服务器端浏览器实现方法及服务器。
技术介绍
在现有技术中,移动浏览器主要分成两种:客户端内核浏览器和云端内核浏览器。其中,客户端内核浏览器是指客户端嵌入浏览器的内核,直接向网站发送请求,不通过任何代理服务器。客户端内核浏览器为浏览器/服务器结构(Browser/Server,简称为B/S)结构,客户端直接通过超文本传输协议(HyperTextTransferProtocol,简称为HTTP)协议向网站发起请求,并在接收到响应后先进行HTTP协议的解析,然后再进行超文本标记语言(HypertextMarkupLanguage,简称为HTML)的解析及子资源下载,生成DomTree并渲染,最终显示在移动终端上。由于客户端与网页服务器之间交互采用HTTP协议,会导致交互数据量大、耗流量、传输时间长、以及响应时间慢等问题。云端内核浏览器为客户端/代理服务器(Client/Server,简称为C/S)架构,是客户端向云端服务器发送请求,由云端服务器访问网页,在获取页面后在服务器端进行解析和渲染计算,然后通过某种协议将渲染的结果发送给客户端,客户端根据结果显示在终端上,所有客户端的交互操作都是在服务器的协助下完成的。具体包括两种处理方式:处理方式一:在C/S架构下,客户端向网页发送页面请求,在获取子资源时向代理服务器发送请求,由代理服务器将对子资源进行一些处理。这种模式下的代理服务器仅对静态页面和图像、CSS和JS等子资源进行缓存和压缩处理,由具备完整WAP/WWW解析能力的手机客户端完成排版和屏幕绘制。该种处理方式会导致了客户端计算量大以及耗电量大的问题。处理方式二:在C/S架构下,客户端向代理服务器发起请求,由代理服务器向网页索取资源,然后在代理服务器上进行解析DOMTree,并根据客户端上传的字体信息进行排版(也可以由服务器默认某字体进行排版),并对子资源进行相应的处理,包括压缩和缓存,最终将排版好的各个控件以位置,宽高加内容的方式发送给客户端,由客户端根据这些信息将内容最终显示在客户端浏览器上。该种处理方式由于各种终端上的客户端要求的字体、排版各有不同,差异性大,代理服务器处理起来繁琐,数据处理负担高,因此会导致客户端渲染效果差(例如,原始页面的效果丢失,部分动态脚本效果支持差等)、交互操作支持较差、以及安全性较低等问题。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的服务器端浏览器实现方法及服务器。本专利技术提供一种服务器端浏览器实现方法,包括:接收客户端浏览器发送的启动请求,在服务器端启动一个与客户端浏览器相对应的服务器端浏览器,并向客户端浏览器发送启动成功响应;获取客户端浏览器发送的用户对客户端浏览器输入的信息和输入焦点位置信息,根据信息和输入焦点位置信息对服务器端浏览器执行相应处理,并将操作结果信息发送到客户端浏览器。可选地,在服务器端启动一个与客户端浏览器相对应的服务器端浏览器具体包括:在服务器端启动一个与客户端浏览器相对应的服务器端浏览器进程,并在缓存中启动一个与服务器端浏览器进程对应的服务器端浏览器页面。可选地,上述方法进一步包括:接收客户端浏览器发送的关闭请求,关闭服务器端浏览器,并向客户端浏览器发送关闭成功响应;或者,向客户端浏览器发送关闭请求,如果在预定时间内未接收到客户端浏览器返回的响应信息,则自动关闭服务器端浏览器。可选地,上述方法进一步包括:启动请求中携带有客户端浏览器的用户标识;根据用户标识将用户数据存储在数据库中,其中,用户数据包括:浏览器收藏夹数据、和/或浏览历史数据;根据客户端浏览器发送的用户操作更新数据库中相应的用户数据。可选地,在服务器端启动一个与客户端浏览器相对应的服务器端浏览器之后,上述方法进一步包括:在接收到客户端侧的用户登录请求并登陆成功后,服务器端浏览器进程根据用户标识从数据库中获取相应的用户数据,并将用户数据加载在缓存中相应的服务器端浏览器页面中。可选地,上述获取客户端浏览器发送的用户对客户端浏览器输入的信息和/或输入焦点位置信息,根据信息和输入焦点位置信息对服务器端浏览器执行相应处理,并将操作结果信息发送到客户端浏览器进一步包括:获取客户端浏览器发送的用户对客户端浏览器输入的文字信息和输入文字信息的输入焦点位置信息;服务器端根据输入焦点位置信息计算出在服务器端浏览器上对应的输入框,将信息填入数据框,并向客户端浏览器反馈响应信息,其中,响应信息中携带有输入成功或失败的信息、以及在输入文字信息成功时携带的客户端浏览器需要更新的显示内容信息。可选地,上述获取客户端浏览器发送的用户对客户端浏览器输入的信息和/或输入焦点位置信息,根据信息和输入焦点位置信息对服务器端浏览器执行相应处理,并将操作结果信息发送到客户端浏览器进一步包括:获取客户端浏览器发送的用户对客户端浏览器进行滚屏操作的偏移量;服务器端根据滚屏操作的偏移量计算页面偏移量,并根据页面偏移量确定客户端浏览器需要更新的显示内容信息,并向客户端浏览器反馈响应信息,其中,响应信息中携带有客户端浏览器需要更新的显示内容信息。可选地,上述服务器端根据滚屏操作的偏移量计算页面偏移量进一步包括:如果dx滚屏+x+浏览器宽度>页面宽度,则dx页面=页面宽度-(x+浏览器宽度),否则,dx页面=dx滚屏,其中,dx滚屏为客户端浏览器提交的用户进行滚屏操作的x轴的偏移量,x为页面当前位置的x轴坐标;和/或,如果dy滚屏+y+浏览器高度>页面高度,则dy页面=页面高度-(x+浏览器高度),否则,dy页面=dy滚屏,其中,dy滚屏为客户端浏览器提交的用户进行滚屏操作的y轴的偏移量,y为页面当前位置的y轴坐标。可选地,上述获取客户端浏览器发送的用户对客户端浏览器输入的信息和/或输入焦点位置信息,根据信息和输入焦点位置信息对服务器端浏览器执行相应处理,并将操作结果信息发送到客户端浏览器进一步包括:从客户端浏览器获取用户对客户端浏览器进行点击的输入焦点位置信息,并根据输入焦点位置信息判断事件类型,其中,事件类型包括:浏览器事件、或网页事件;根据事件类型执行相应的处理,并向客户端浏览器反馈响应信息,其中,响应信息中携带有服务器端处理成功或失败的信息、以及处理成功时携带的客户端浏览器的显示内容信息。可选地,上述根据输入焦点位置信息判断事件类型具体包括:若输入焦点位置在浏览器框架上,则确定事件类型为浏览器事件;若输入焦点位置在网页范围内,则确定事件类型为网页事件;根据事件类型执行相应的处理进一步包括:在事件类型为浏览器事件的情况下,服务器端直接根据浏览器事件在服务器端浏览器执行相应操作;在事件类型为网页事件的情况下,服务器端根据用户的网页事件操作,在服务器端浏览器上执行网页事件操作,与响应的网站服务器进行交互,将输入信息透传到相应的网站服务器。可选地,上述浏览器事件操作包括:新建标签页、关闭标签页、切换标签页、管理收藏夹、或撤销操作;网页事件操作包括:对网页上的连接、图片、或按钮的操作。可选地,上述显示内容信息包括:将显示内容进行分块后的一块或多块显示数据、与各块显示数据对应的key值、以及与各块本文档来自技高网
...
服务器端浏览器实现方法及服务器

【技术保护点】
一种服务器端浏览器实现方法,包括:接收客户端浏览器发送的启动请求,在所述服务器端启动一个与所述客户端浏览器相对应的服务器端浏览器,并向所述客户端浏览器发送启动成功响应;获取所述客户端浏览器发送的用户对所述客户端浏览器输入的信息和输入焦点位置信息,根据所述信息和所述输入焦点位置信息对所述服务器端浏览器执行相应处理,并将操作结果信息发送到所述客户端浏览器。

【技术特征摘要】
1.一种服务器端浏览器实现方法,包括:接收客户端浏览器发送的启动请求,在所述服务器端启动一个与所述客户端浏览器相对应的服务器端浏览器,并向所述客户端浏览器发送启动成功响应;获取所述客户端浏览器发送的用户对所述客户端浏览器输入的信息和输入焦点位置信息,根据所述信息和所述输入焦点位置信息对所述服务器端浏览器执行相应处理,并将操作结果信息发送到所述客户端浏览器;其中,所述在所述服务器端启动一个与所述客户端浏览器相对应的服务器端浏览器具体包括:在所述服务器端启动一个与所述客户端浏览器相对应的服务器端浏览器进程,并在缓存中启动一个与所述服务器端浏览器进程对应的服务器端浏览器页面;其中,所述获取所述客户端浏览器发送的用户对所述客户端浏览器输入的信息和输入焦点位置信息,根据所述信息和所述输入焦点位置信息对所述服务器端浏览器执行相应处理,并将操作结果信息发送到所述客户端浏览器进一步包括:获取所述客户端浏览器发送的用户对所述客户端浏览器输入的文字信息和输入所述文字信息的输入焦点位置信息;所述服务器端根据所述输入焦点位置信息计算出在所述服务器端浏览器上对应的输入框,将所述文字信息填入所述输入框,并向所述客户端浏览器反馈响应信息,其中,所述响应信息中携带有输入成功或失败的信息、以及在输入文字信息成功时携带的所述客户端浏览器需要更新的显示内容信息;获取所述客户端浏览器发送的用户对所述客户端浏览器输入的信息和输入焦点位置信息,根据所述信息和所述输入焦点位置信息对所述服务器端浏览器执行相应处理,并将操作结果信息发送到所述客户端浏览器进一步包括:获取所述客户端浏览器发送的用户对所述客户端浏览器进行滚屏操作的偏移量;所述服务器端根据所述滚屏操作的偏移量计算页面偏移量,并根据所述页面偏移量确定所述客户端浏览器需要更新的显示内容信息,并向所述客户端浏览器反馈响应信息,其中,所述响应信息中携带有所述客户端浏览器需要更新的显示内容信息;所述服务器端根据所述滚屏操作的偏移量计算页面偏移量进一步包括:如果dx滚屏+x+浏览器宽度>页面宽度,则dx页面=页面宽度-(x+浏览器宽度),否则,dx页面=dx滚屏,其中,dx滚屏为所述客户端浏览器提交的用户进行滚屏操作的x轴的偏移量,x为页面当前位置的x轴坐标;和/或如果dy滚屏+y+浏览器高度>页面高度,则dy页面=页面高度-(x+浏览器高度),否则,dy页面=dy滚屏,其中,dy滚屏为所述客户端浏览器提交的用户进行滚屏操作的y轴的偏移量,y为页面当前位置的y轴坐标。2.如权利要求1所述的方法,其特征在于,所述方法进一步包括:接收所述客户端浏览器发送的关闭请求,关闭所述服务器端浏览器,并向所述客户端浏览器发送关闭成功响应;或者,向所述客户端浏览器发送关闭请求,如果在预定时间内未接收到所述客户端浏览器返回的响应信息,则自动关闭所述服务器端浏览器。3.如权利要求1所述的方法,其特征在于,所述方法进一步包括:所述启动请求中携带有所述客户端浏览器的用户标识;根据用户标识将用户数据存储在数据库中,其中,所述用户数据包括:浏览器收藏夹数据、和/或浏览历史数据;根据所述客户端浏览器发送的用户操作更新所述数据库中相应的用户数据。4.如权利要求1所述的方法,其特征在于,在所述服务器端启动一个与所述客户端浏览器相对应的服务器端浏览器之后,所述方法进一步包括:在接收到客户端侧的用户登录请求并登陆成功后,所述服务器端浏览器进程根据所述用户标识从数据库中获取相应的用户数据,并将所述用户数据加载在所述缓存中相应的服务器端浏览器页面中。5.如权利要求2至4中任一项所述的方法,其特征在于,获取所述客户端浏览器发送的用户对所述客户端浏览器输入的信息和输入焦点位置信息,根据所述信息和所述输入焦点位置信息对所述服务器端浏览器执行相应处理,并将操作结果信息发送到所述客户端浏览器进一步包括:从所述客户端浏览器获取用户对所述客户端浏览器进行点击的输入焦点位置信息,并根据所述输入焦点位置信息判断事件类型,其中,所述事件类型包括:浏览器事件、或网页事件;根据所述事件类型执行相应的处理,并向所述客户端浏览器反馈响应信息,其中,所述响应信息中携带有所述服务器端处理成功或失败的信息、以及处理成功时携带的所述客户端浏览器的显示内容信息。6.如权利要求5所述的方法,其特征在于,根据所述输入焦点位置信息判断事件类型具体包括:若输入焦点位置在浏览器框架上,则确定事件类型为浏览器事件;若输入焦点位置在网页范围内,则确定事件类型为网页事件;根据所述事件类型执行相应的处理进一步包括:在所述事件类型为浏览器事件的情况下,所述服务器端直接根据所述浏览器事件在所述服务器端浏览器执行相应操作;在所述事件类型为网页事件的情况下,所述服务器端根据用户的网页事件操作,在所述服务器端浏览器上执行所述网页事件操作,与相应的网站服务器进行交互,将输入信息透传到所述相应的网站服务器。7.如权利要求6所述的方法,其特征在于,根据所述浏览器事件在所述服务器端浏览器执行的操作包括:新建标签页、关闭标签页、切换标签页、管理收藏夹、或撤销操作;所述网页事件操作包括:对网页上的链接、图片、或按钮的操作。8.如权利要求5所述的方法,其特征在于,所述方法进一步包括:在所述事件类型为网页事件的情况下,对恶意网址进行过滤。9.如权利要求1至4中任一项所述的方法,其特征在于,所述显示内容信息包括:将显示内容进行分块后的一块或多块显示数据、与各块显示数据对应的key值、以及与各块显示数据对应的哈希值。10.如权利要求1至4中任一项所述的方法,其特征在于,所述方法进一步包括:接收所述客户端浏览器发送的组成显示内容的各块显示数据所对应的key值和哈希值;判断所述key值和所述哈希值与所述服务器端浏览器相对应显示内容的各块显示数据所对应的key值和哈希值是否相同,如果不同,则将最新显示数据、以及相应的key值和哈希值发送到所述客户端浏览器。11.如权利要求1至4中任一项所述的方法,其特征在于,获取所述客户端浏览器发送的用户对所述客户端浏览器输入的信息和输入焦点位置信息,根据所述信息和所述输入焦点位置信息对所述服务器端浏览器执行相应处理,并将操作结果信息发送到所述客户端浏览器进一步包括:从所述客户端浏览器下载用户需要上传到网页的数据,并将该数据上传到相应的网站服务器;根据所述客户端浏览器的请求从相应...

【专利技术属性】
技术研发人员:马金韬
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1