CN102981705B - 服务器端浏览器实现方法及服务器 - Google Patents
服务器端浏览器实现方法及服务器 Download PDFInfo
- Publication number
- CN102981705B CN102981705B CN201210447433.2A CN201210447433A CN102981705B CN 102981705 B CN102981705 B CN 102981705B CN 201210447433 A CN201210447433 A CN 201210447433A CN 102981705 B CN102981705 B CN 102981705B
- Authority
- CN
- China
- Prior art keywords
- browser
- server
- client
- information
- user
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 109
- 238000012545 processing Methods 0.000 claims abstract description 124
- 230000004044 response Effects 0.000 claims abstract description 101
- 230000008569 process Effects 0.000 claims description 33
- 241000700605 Viruses Species 0.000 claims description 31
- 230000002452 interceptive effect Effects 0.000 claims description 29
- 230000003993 interaction Effects 0.000 claims description 24
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 claims description 23
- 238000001914 filtration Methods 0.000 claims description 14
- 238000001514 detection method Methods 0.000 claims description 9
- 238000003672 processing method Methods 0.000 claims description 9
- 238000013500 data storage Methods 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 230000004913 activation Effects 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 7
- 238000009877 rendering Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 25
- 230000005540 biological transmission Effects 0.000 description 6
- 238000013144 data compression Methods 0.000 description 5
- 230000006837 decompression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 235000014510 cooky Nutrition 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000011282 treatment Methods 0.000 description 2
- 241001287919 Pagevirus Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种服务器端浏览器实现方法及服务器。该方法包括:接收客户端浏览器发送的启动请求,在服务器端启动一个与客户端浏览器相对应的服务器端浏览器,并向客户端浏览器发送启动成功响应;获取客户端浏览器发送的用户对客户端浏览器输入的信息和输入焦点位置信息,根据信息和输入焦点位置信息对服务器端浏览器执行相应处理,并将操作结果信息发送到客户端浏览器。借助于本发明的技术方案,能够有效降低客户端侧的数据处理负担,在响应速度快,流量消耗少的情况下,还能保证很好的渲染效果,同时支持所有的用户操作,减轻了对用户终端软硬件的配置要求,给用户提供了很好的上网环境,保证用户的上网安全。
Description
技术领域
本发明涉及通讯领域,特别是涉及一种服务器端浏览器实现方法及服务器。
背景技术
在现有技术中,移动浏览器主要分成两种:客户端内核浏览器和云端内核浏览器。其中,客户端内核浏览器是指客户端嵌入浏览器的内核,直接向网站发送请求,不通过任何代理服务器。客户端内核浏览器为浏览器/服务器结构(Browser/Server,简称为B/S)结构,客户端直接通过超文本传输协议(HyperText Transfer Protocol,简称为HTTP)协议向网站发起请求,并在接收到响应后先进行HTTP协议的解析,然后再进行超文本标记语言(Hypertext Markup Language,简称为HTML)的解析及子资源下载,生成Dom Tree并渲染,最终显示在移动终端上。由于客户端与网页服务器之间交互采用HTTP协议,会导致交互数据量大、耗流量、传输时间长、以及响应时间慢等问题。
云端内核浏览器为客户端/代理服务器(Client/Server,简称为C/S)架构,是客户端向云端服务器发送请求,由云端服务器访问网页,在获取页面后在服务器端进行解析和渲染计算,然后通过某种协议将渲染的结果发送给客户端,客户端根据结果显示在终端上,所有客户端的交互操作都是在服务器的协助下完成的。具体包括两种处理方式:
处理方式一:
在C/S架构下,客户端向网页发送页面请求,在获取子资源时向代理服务器发送请求,由代理服务器将对子资源进行一些处理。这种模式下的代理服务器仅对静态页面和图像、CSS和JS等子资源进行缓存和压缩处理,由具备完整WAP/WWW解析能力的手机客户端完成排版和屏幕绘制。该种处理方式会导致了客户端计算量大以及耗电量大的问题。
处理方式二:
在C/S架构下,客户端向代理服务器发起请求,由代理服务器向网页索取资源,然后在代理服务器上进行解析DOM Tree,并根据客户端上传的字体信息进行排版(也可以由服务器默认某字体进行排版),并对子资源进行相应的处理,包括压缩和缓存,最终将排版好的各个控件以位置,宽高加内容的方式发送给客户端,由客户端根据这些信息将内容最终显示在客户端浏览器上。该种处理方式由于各种终端上的客户端要求的字体、排版各有不同,差异性大,代理服务器处理起来繁琐,数据处理负担高,因此会导致客户端渲染效果差(例如,原始页面的效果丢失,部分动态脚本效果支持差等)、交互操作支持较差、以及安全性较低等问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的服务器端浏览器实现方法及服务器。
本发明提供一种服务器端浏览器实现方法,包括:接收客户端浏览器发送的启动请求,在服务器端启动一个与客户端浏览器相对应的服务器端浏览器,并向客户端浏览器发送启动成功响应;获取客户端浏览器发送的用户对客户端浏览器输入的信息和输入焦点位置信息,根据信息和输入焦点位置信息对服务器端浏览器执行相应处理,并将操作结果信息发送到客户端浏览器。
可选地,在服务器端启动一个与客户端浏览器相对应的服务器端浏览器具体包括:在服务器端启动一个与客户端浏览器相对应的服务器端浏览器进程,并在缓存中启动一个与服务器端浏览器进程对应的服务器端浏览器页面。
可选地,上述方法进一步包括:接收客户端浏览器发送的关闭请求,关闭服务器端浏览器,并向客户端浏览器发送关闭成功响应;或者,向客户端浏览器发送关闭请求,如果在预定时间内未接收到客户端浏览器返回的响应信息,则自动关闭服务器端浏览器。
可选地,上述方法进一步包括:启动请求中携带有客户端浏览器的用户标识;根据用户标识将用户数据存储在数据库中,其中,用户数据包括:浏览器收藏夹数据、和/或浏览历史数据;根据客户端浏览器发送的用户操作更新数据库中相应的用户数据。
可选地,在服务器端启动一个与客户端浏览器相对应的服务器端浏览器之后,上述方法进一步包括:在接收到客户端侧的用户登录请求并登陆成功后,服务器端浏览器进程根据用户标识从数据库中获取相应的用户数据,并将用户数据加载在缓存中相应的服务器端浏览器页面中。
可选地,上述获取客户端浏览器发送的用户对客户端浏览器输入的信息和/或输入焦点位置信息,根据信息和输入焦点位置信息对服务器端浏览器执行相应处理,并将操作结果信息发送到客户端浏览器进一步包括:获取客户端浏览器发送的用户对客户端浏览器输入的文字信息和输入文字信息的输入焦点位置信息;服务器端根据输入焦点位置信息计算出在服务器端浏览器上对应的输入框,将信息填入数据框,并向客户端浏览器反馈响应信息,其中,响应信息中携带有输入成功或失败的信息、以及在输入文字信息成功时携带的客户端浏览器需要更新的显示内容信息。
可选地,上述获取客户端浏览器发送的用户对客户端浏览器输入的信息和/或输入焦点位置信息,根据信息和输入焦点位置信息对服务器端浏览器执行相应处理,并将操作结果信息发送到客户端浏览器进一步包括:获取客户端浏览器发送的用户对客户端浏览器进行滚屏操作的偏移量;服务器端根据滚屏操作的偏移量计算页面偏移量,并根据页面偏移量确定客户端浏览器需要更新的显示内容信息,并向客户端浏览器反馈响应信息,其中,响应信息中携带有客户端浏览器需要更新的显示内容信息。
可选地,上述服务器端根据滚屏操作的偏移量计算页面偏移量进一步包括:如果dx滚屏+x+浏览器宽度>页面宽度,则dx页面=页面宽度-(x+浏览器宽度),否则,dx页面=dx滚屏,其中,dx滚屏为客户端浏览器提交的用户进行滚屏操作的x轴的偏移量,x为页面当前位置的x轴坐标;和/或,如果dy滚屏+y+浏览器高度>页面高度,则dy页面=页面高度-(x+浏览器高度),否则,dy页面=dy滚屏,其中,dy滚屏为客户端浏览器提交的用户进行滚屏操作的y轴的偏移量,y为页面当前位置的y轴坐标。
可选地,上述获取客户端浏览器发送的用户对客户端浏览器输入的信息和/或输入焦点位置信息,根据信息和输入焦点位置信息对服务器端浏览器执行相应处理,并将操作结果信息发送到客户端浏览器进一步包括:从客户端浏览器获取用户对客户端浏览器进行点击的输入焦点位置信息,并根据输入焦点位置信息判断事件类型,其中,事件类型包括:浏览器事件、或网页事件;根据事件类型执行相应的处理,并向客户端浏览器反馈响应信息,其中,响应信息中携带有服务器端处理成功或失败的信息、以及处理成功时携带的客户端浏览器的显示内容信息。
可选地,上述根据输入焦点位置信息判断事件类型具体包括:若输入焦点位置在浏览器框架上,则确定事件类型为浏览器事件;若输入焦点位置在网页范围内,则确定事件类型为网页事件;根据事件类型执行相应的处理进一步包括:在事件类型为浏览器事件的情况下,服务器端直接根据浏览器事件在服务器端浏览器执行相应操作;在事件类型为网页事件的情况下,服务器端根据用户的网页事件操作,在服务器端浏览器上执行网页事件操作,与响应的网站服务器进行交互,将输入信息透传到相应的网站服务器。
可选地,上述浏览器事件操作包括:新建标签页、关闭标签页、切换标签页、管理收藏夹、或撤销操作;网页事件操作包括:对网页上的连接、图片、或按钮的操作。
可选地,上述显示内容信息包括:将显示内容进行分块后的一块或多块显示数据、与各块显示数据对应的key值、以及与各块显示数据对应的哈希值。
可选地,上述方法进一步包括:接收客户端浏览器发送的组成显示内容的各块显示数据所对应的key值和哈希值;判断key值和哈希值与服务器端浏览器相对应显示内容的各块显示数据所对应的key值和哈希值是否相同,如果不同,则将最新显示数据、以及相应的key值和哈希值发送到客户端浏览器。
可选地,上述获取客户端浏览器发送的用户对客户端浏览器输入的信息和/或输入焦点位置信息,根据信息和输入焦点位置信息对服务器端浏览器执行相应处理,并将操作结果信息发送到客户端浏览器进一步包括:从客户端浏览器下载用户需要上传到网页的数据,并将该数据上传到相应的网站服务器;根据客户端浏览器的请求从相应的网站服务器下载用户需要从网页下载的数据,并将该数据上传到客户端浏览器。
可选地,上述方法进一步包括:在事件类型为网页事件的情况下,对恶意网址进行过滤。
可选地,上述方法进一步包括:对发送到客户端浏览器的数据进行病毒检测,将检测出的病毒文件进行隔离;对发送到客户端浏览器的数据进行木马查杀。
本发明还提供了一种服务器,包括:启动单元,适于通过客户端交互接口接收客户端浏览器发送的启动请求,启动一个与客户端浏览器相对应的服务器端浏览器,并通过客户端交互接口向客户端浏览器发送启动成功响应;处理单元,适于通过客户端交互接口获取客户端浏览器发送的用户对客户端浏览器输入的信息和输入焦点位置信息,根据信息和输入焦点位置信息对服务器端浏览器执行相应处理,并将操作结果信息发送到客户端浏览器。
可选地,上述启动单元进一步适于:在服务器端启动一个与客户端浏览器相对应的服务器端浏览器进程,并在缓存中启动一个与服务器端浏览器进程对应的服务器端浏览器页面。
可选地,上述服务器进一步包括:关闭模块,适于通过客户端交互接口接收客户端浏览器发送的关闭请求,关闭服务器端浏览器,并通过客户端交互接口向客户端浏览器发送关闭成功响应,或者,向客户端浏览器发送关闭请求,如果在预定时间内未接收到客户端浏览器返回的响应信息,则自动关闭服务器端浏览器。
可选地,上述启动请求中携带有客户端浏览器的用户标识;服务器进一步包括:用户数据存储模块,适于根据用户标识将用户数据存储在数据库中,其中,用户数据包括:浏览器收藏夹数据、和/或浏览历史数据;用户数据更新模块,适于根据客户端浏览器发送的用户操作更新数据库中相应的用户数据。
可选地,上述启动单元进一步适于:在通过客户端交互接口接收到客户端侧的用户登录请求并登陆成功后,通过服务器端浏览器进程,根据用户标识从数据库中获取相应的用户数据,并将用户数据加载在缓存中相应的服务器端浏览器页面中。
可选地,上述处理单元进一步适于:通过客户端交互接口获取客户端浏览器发送的用户对客户端浏览器输入的文字信息和输入文字信息的输入焦点位置信息;根据输入焦点位置信息计算出在服务器端浏览器上对应的输入框,将信息填入数据框,并向客户端浏览器反馈响应信息,其中,响应信息中携带有输入成功或失败的信息、以及在输入文字信息成功时携带的客户端浏览器需要更新的显示内容信息。
可选地,上述处理单元进一步适于:通过客户端交互接口获取客户端浏览器发送的用户对客户端浏览器进行滚屏操作的偏移量;根据滚屏操作的偏移量计算页面偏移量,并根据页面偏移量确定客户端浏览器需要更新的显示内容信息,并向客户端浏览器反馈响应信息,其中,响应信息中携带有客户端浏览器需要更新的显示内容信息。
可选地,上述处理单元进一步适于:如果dx滚屏+x+浏览器宽度>页面宽度,则确定dx页面=页面宽度-(x+浏览器宽度),否则,dx页面=dx滚屏,其中,dx滚屏为客户端浏览器提交的用户进行滚屏操作的x轴的偏移量,x为页面当前位置的x轴坐标;和/或,如果dy滚屏+y+浏览器高度>页面高度,则确定dy页面=页面高度-(x+浏览器高度),否则,dy页面=dy滚屏,其中,dy滚屏为客户端浏览器提交的用户进行滚屏操作的y轴的偏移量,y为页面当前位置的y轴坐标。
可选地,上述处理单元进一步适于:通过客户端交互接口从客户端浏览器获取用户对客户端浏览器进行点击的输入焦点位置信息,并根据输入焦点位置信息判断事件类型,其中,事件类型包括:浏览器事件、或网页事件;根据事件类型执行相应的处理,并通过客户端交互接口向客户端浏览器反馈响应信息,其中,响应信息中携带有服务器端处理成功或失败的信息、以及处理成功时携带的客户端浏览器的显示内容信息。
可选地,上述处理单元进一步适于:若输入焦点位置在浏览器框架上,则确定事件类型为浏览器事件;若输入焦点位置在网页范围内,则确定事件类型为网页事件;在事件类型为浏览器事件的情况下,直接根据浏览器事件在服务器端浏览器执行相应操作;在事件类型为网页事件的情况下,根据用户的网页事件操作,在服务器端浏览器上执行网页事件操作,通过网站服务器交互接口与响应的网站服务器进行交互,将操作信息透传到相应的网站服务器。
可选地,上述浏览器事件操作包括:新建标签页、关闭标签页、切换标签页、管理收藏夹、或撤销操作;网页事件操作包括:对网页上的连接、图片、或按钮的操作。
可选地,上述显示内容信息包括:将显示内容进行分块后的一块或多块显示数据、与各块显示数据对应的key值、以及与各块显示数据对应的哈希值。
可选地,上述处理单元进一步包括:接收客户端浏览器发送的组成显示内容的各块显示数据所对应的key值和哈希值;判断key值和哈希值与服务器端浏览器相对应显示内容的各块显示数据所对应的key值和哈希值是否相同,如果不同,则将最新显示数据、以及相应的key值和哈希值发送到客户端浏览器。
可选地,上述处理单元进一步适于:从客户端浏览器下载用户需要上传到网页的数据,并将该数据上传到相应的网站服务器;从客户端浏览器下载用户需要上传到网页的数据,并将该数据上传到相应的网站服务器。
可选地,上述服务器进一步包括:过滤模块,适于在事件类型为网页事件的情况下,对恶意网址进行过滤。
可选地,上述服务器进一步包括:病毒模块,适于对发送到客户端浏览器的数据进行病毒检测,将检测出的病毒文件进行隔离;木马模块,适于对发送到客户端浏览器的数据进行木马查杀。
本发明有益效果如下:
借助于本发明实施例的技术方案,服务器端根据客户端浏览器的请求启动相应的浏览器后,服务器端的浏览器根据客户端浏览器发送的用户操作进行相应处理,并将处理结果发送到客户端浏览器,以便客户端浏览器进行显示,本发明能够有效降低客户端侧的数据处理负担,在响应速度快,流量消耗少的情况下,还能保证很好的渲染效果,同时支持所有的用户操作,减轻了对用户终端软硬件的配置要求,给用户提供了很好的上网环境,保证用户的上网安全。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明一个实施例的服务器端显示页面和客户端浏览器显示页面的示意图;
图2是本发明一个实施例的服务器端浏览器实现方法的流程图;
图3是本发明一个实施例的客户端浏览器与服务器端进行交互的处理示意图一;
图4是本发明一个实施例的客户端浏览器与服务器端进行交互的处理示意图二;
图5是本发明一个实施例的判断事件类型是浏览器事件还是网页事件的示意图;
图6是本发明一个实施例的上传下载时进行数据压缩和解压缩的示意图;
图7是本发明一个实施例的服务器端分割页面的示意图;
图8是本发明一个实施例的客户端浏览器显示的内容块的示意图;
图9是本发明一个实施例的服务器的结构示意图;
图10是本发明一个实施例的服务器端远程控制客户端浏览器的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了解决现有技术中云端内核浏览器存在的客户端渲染效果差、以及交互操作支持较差的问题,本发明提供了一种服务器端浏览器实现方法及服务器,图1是本发明一个实施例的服务器端显示页面和客户端浏览器显示页面的示意图,图10是本发明一个实施例的服务器端远程控制客户端浏览器的示意图,如图1、10所示,本发明实施例采用远程桌面技术来实现C/S架构下的浏览器(包括:移动浏览器和PC浏览器等),客户端相当于一个远程桌面控件,通过远程桌面技术来控制服务器(优选地,可以是云端服务器)上的实际浏览器程序或进程。服务器根据客户端的具体情况(例如,分辨率、以及用户代理(User Agent,简称为UA),UA中包括用户的手机信息,例如手机型号等)启动不同的浏览器,用户通过操作客户端来远程控制服务器上对应的浏览器,进行各种操作,包括输入URL,点击链接、滚屏等,而服务器端的浏览器在接收到用户的操作后进行相应的处理,并将处理的结果以特定的压缩格式返回给客户端。此外,用户在浏览页面时,可能会在一个页面通过上下滚屏来阅读网页,或者后退到某个已经阅读过的页面,这时,如果不使用缓存技术,就会再次进行显示数据的传输,无论是在响应速度还是在流量消耗上都会有很大影响,因此,本发明实施例采用了客户端缓存技术来缓解和解决这个问题。目前的网站和上网的人群日益增长,在互联网给人们带来方便的同时,也有些网站通过各种方式损害用户的权益,从而获取个人利益。本发明实施例的技术方案为了提高了浏览器的安全性,在用户访问不安全网址时,服务器将根据安全策略,对不同的威胁用户安全的问题做不同的处理,使用户在无需了解任何相关知识的前提下能够安全上网。
以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
根据本发明的实施例,提供了一种服务器端浏览器实现方法,图2是本发明一个实施例的服务器端浏览器实现方法的流程图,如图2所示,根据本发明实施例的服务器端浏览器实现方法包括如下处理:
步骤201,接收客户端浏览器发送的启动请求,在服务器端启动一个与客户端浏览器相对应的服务器端浏览器,并向客户端浏览器发送启动成功响应;
需要说明的是,本发明实施例的服务器端可以为云端服务器。
步骤201中,在接收到客户端启动浏览器的请求后,服务器端需要启动一个真实的浏览器(客户端浏览器只是一个类似与远程控制的客户端),在本发明实施例中,这个浏览器会绑定该客户端,不会被其它客户端访问到,能够保护用户的隐私数据。
优选地,在步骤201中,在服务器端启动一个与客户端浏览器相对应的服务器端浏览器时,首先需要在服务器端启动一个与客户端浏览器相对应的服务器端浏览器进程,并在缓存中启动一个与服务器端浏览器进程对应的服务器端浏览器页面。
在本发明实施例中,启动请求中还可以携带有客户端浏览器的用户标识。服务器端可以根据上述用户标识将用户数据(包括:浏览器收藏夹数据、和/或浏览历史数据)存储在数据库中,并根据客户端浏览器发送的用户操作更新数据库中相应的用户数据。在服务器端接收到客户端侧的用户登录请求并登陆成功后,服务器端浏览器进程根据用户标识从数据库中获取相应的用户数据,并将用户数据加载在缓存中相应的服务器端浏览器页面中。
在实际应用中,有些用户数据涉及到用户的个人财产安全而不能在服务器端进行存储,而有的用户数据为了方便用户操作是需要在服务器端进行存储的,例如,收藏夹、浏览历史等其它信息。服务器端将每个用户的这些数据维护成一个表,同时可以使用用户登录的密码进行加密。在某个用户启动客户端浏览器时,服务端将用户的ID(或其它信息)作为key,获取到对应的用户数据,并加载到服务器端当前为该用户启动的浏览器上。此外,用户可以执行一些操作从而对这些数据进行管理,服务器端根据用户的操作请求作出相应的处理,最终更新到服务器端对应用户的数据表上,完成用户的操作请求。
步骤202,获取客户端浏览器发送的用户对客户端浏览器输入的信息和输入焦点位置信息,根据信息和输入焦点位置信息对服务器端浏览器执行相应处理,并将操作结果信息发送到客户端浏览器。
在步骤202中,浏览器端需要获取客户端浏览器发送的用户对客户端浏览器输入的信息,其中,用户对客户端浏览器输入的信息包括:用户对客户端浏览器输入的文字信息、用户对客户端浏览器进行滚屏操作的偏移量、或者用户对客户端浏览器进行浏览器事件操作或网页事件操作的输入焦点位置信息等。
服务器端获取客户端浏览器发送的用户对客户端浏览器输入的信息和输入焦点位置信息,根据信息和输入焦点位置信息对服务器端浏览器执行相应处理,并将操作结果信息发送到客户端浏览器。随后,客户端浏览器显示和/或执行服务器端返回的操作结果信息。
下面对用户对服务器端进行各种操作时的处理过程进行详细说明。
图3是本发明一个实施例的客户端浏览器与服务器端进行交互的处理示意图一,图4是本发明一个实施例的客户端浏览器与服务器端进行交互的处理示意图二,如图3和图4所示,根据本发明实施例的客户端浏览器与服务器端的交互包括如下几种操作:
一、输入
服务器端需要获取客户端浏览器发送的用户对客户端浏览器输入的文字信息和输入文字信息的输入焦点位置信息;随后,根据输入焦点位置信息计算出在服务器端浏览器上对应的输入框,将信息填入数据框,并向客户端浏览器反馈响应信息,其中,响应信息中携带有输入成功或失败的信息、以及在输入文字信息成功时携带的客户端浏览器需要更新的显示内容信息。
在实际应用中,服务器端在接收到客户端浏览器发送的输入信息后,会根据客户端浏览器发送的位置信息计算出对应的输入框,并将客户端浏览器提交的输入信息填写到输入框中,最后返回给客户端对应的响应(成功或错误码)以及需要更新的显示内容。
二、滚屏操作
服务器端获取客户端浏览器发送的用户对客户端浏览器进行滚屏操作的偏移量;并根据滚屏操作的偏移量计算页面偏移量,并根据页面偏移量确定客户端浏览器需要更新的显示内容信息,并向客户端浏览器反馈响应信息,其中,响应信息中携带有客户端浏览器需要更新的显示内容信息。
在计算页面偏移量时,如果dx滚屏+x+浏览器宽度>页面宽度,则dx页面=页面宽度-(x+浏览器宽度),否则,dx页面=dx滚屏,其中,dx滚屏为客户端浏览器提交的用户进行滚屏操作的x轴的偏移量,x为页面当前位置的x轴坐标;如果dy滚屏+y+浏览器高度>页面高度,则dy页面=页面高度-(x+浏览器高度),否则,dy页面=dy滚屏,其中,dy滚屏为客户端浏览器提交的用户进行滚屏操作的y轴的偏移量,y为页面当前位置的y轴坐标。
例如,如客户端提交的偏移:dx=50,dy=100,页面当前的位置为x=0,y=100,页面宽度page_width=500,高度page_height=1000,浏览器的宽度device_width=480,高度device_height=800,为了保证偏移后浏览器不会超出页面的显示范围,最终的偏移量为dx=20,dy=100。
三、事件
在本发明实施例中,事件分为两种:浏览器事件和网页事件,其中,浏览器事件:指客户端与服务器端浏览器的交互事件,包括新建标签页、关闭标签页、切换标签页、管理收藏夹、撤销操作等,这些事件通过用户在客户端点击浏览器显示的按键或菜单完成,客户端浏览器将点击的位置信息上传给服务器端,由服务器端浏览器完成后续处理。网页事件:指客户端通过服务器端浏览器与网页之间的交互事件。用户在浏览网页时,会点击上面不同的链接、图片、按键等控件,客户端浏览器根据用户点击的位置、时间等信息传输给服务器端,并根据服务器端的响应做出相应的处理。
具体地,服务器端从客户端浏览器获取用户对客户端浏览器进行点击的输入焦点位置信息,并根据输入焦点位置信息判断事件类型是浏览器事件还是网页事件;随后,根据事件类型执行相应的处理,并向客户端浏览器反馈响应信息,其中,响应信息中携带有服务器端处理成功或失败的信息、以及处理成功时携带的客户端浏览器的显示内容信息。
图5是一个本发明实施例的判断事件类型是浏览器事件还是网页事件的示意图,如图5所示,接收到客户端对应的点击后,服务器端根据提交的位置信息计算出对应服务端浏览器的位置,来判断该事件的类型:若输入焦点位置在浏览器框架上,则确定事件类型为浏览器事件;若输入焦点位置在网页范围内,则确定事件类型为网页事件。
在事件类型为浏览器事件的情况下,服务器端直接根据浏览器事件在服务器端浏览器执行相应操作;也就是说,服务器端根据浏览器事件进行相应的处理,无需向网页提交事件,在事件处理完成后返回给客户端对应的响应。例如,新建标签页,服务端浏览器在新建前先判断标签页是否达到上限,如果达到,则直接返回客户端不成功响应,否则,新建标签页并显示该页,将结果返回给客户端。
在事件类型为网页事件的情况下,服务器端根据用户的网页事件操作,在服务器端浏览器上执行网页事件操作,与响应的网站服务器进行交互,将输入信息透传到相应的网站服务器。在实际应用中,服务器端浏览器会模拟一次真实的点击事件,由不同的点击对象(控件)触发不同的响应。如果是一个链接,则打开对应的页面;如果是一个按键,则进行表单提交操作。待网站返回响应后,服务器端将响应进行处理后返回给客户端,使其能够显示对应的内容。
四、下载和上传
在用户需要上传数据时,服务器端从客户端浏览器下载用户需要上传到网页的数据,并将该数据上传到相应的网站服务器;在用户需要下载数据时,服务器端根据客户端浏览器的请求从相应的网站服务器下载用户需要从网页下载的数据,并将该数据上传到客户端浏览器。
也就是说,在客户端浏览器进行上传操作时,服务器端先将文件通过FTP或私有协议上传到服务端,最终由服务器端完成向网站上传文件的操作,并返回给客户端对应的响应。在客户端浏览器进行下载操作时,服务器端先将文件下载到本地,最终通过FTP或私有协议下载到客户端。
图6是本发明一个实施例的上传下载时进行数据压缩和解压缩的示意图,如图6所示,在上传或下载文件时,服务器端可以进行gzip或其它算法的数据压缩,使传输的数据尽可能小,从而即减少了流量又提供了速度,在服务器端和客户端浏览器都有对应的压缩和解压缩功能,保证文件只是在传输过程中是压缩形式,而体现在客户端浏览器或网站时是非压缩原有格式。
五、关闭浏览器
服务器端接收客户端浏览器发送的关闭请求时,关闭服务器端浏览器,并向客户端浏览器发送关闭成功响应;或者,服务器端主动向客户端浏览器发送关闭请求,如果在预定时间内未接收到客户端浏览器返回的响应信息,则自动关闭服务器端浏览器。
在实际应用中,关闭服务器端浏览器时,服务器端需要将存储指定数据(例如,用户的收藏夹数据、浏览历史数据等),然后清除用户信息、cookie及缓存后,才能关闭服务器端浏览器。
需要说明的是,在上述操作中,服务器端对客户端请求的响应最终返回的是显示相关的数据,具体的方式有两种:一种是只返回当前显示范围内的数据,当用户滚屏时,根据偏移来返回对应的数据;另一种是返回当前显示的数据后,在用户浏览的同时,将超出显示范围内的数据也传送过来。
此外,在实际应用中,用户在浏览网站时,有时会输入个人信息用以登陆、支付等操作,这就出现了安全问题。在本发明实施例中,为了保证客户端浏览器的安全,服务器端会对用户间数据进行隔离,具体地,对于不同用户来说,服务器端会为每个用户创建一个浏览器实例,一个浏览器实例可以开启多个窗口,为了保证用户信息的安全性,用户所对应的浏览器实例会进行数据隔离,并且在用户退出时将对应的浏览器实例销毁。此外,服务器端不存储用户隐私数据,服务器端对用户提交的个人信息不进行存储,这样有效的防止黑客即使成功攻击入侵服务器时,也无法获取到用户的个人信息。
在本发明实施例中,为了解决用户浏览已浏览过页面或部分的响应问题,当客户端新请求一个页面时,由服务器端将这个页面分割成小块,将分割后的小块进行标记key,并计算出该块数据的HASH值hash_value,key和hash_value与该块的数据一并发送给客户端。客户端在接收到数据后,将数据进行缓存,当下次再浏览该块页面时,只需将key和hash_value传送给服务器端以判断该块数据是否依然有效,即判断该块页面与当前服务器端对应页面块(key)对应的数据(通过hash_value)是否相同,来决定是否需要重传数据。如果某块有变化,则只需要传输变化的那块数据。其中,key值由URL、横向起始位置和纵向起始位置组成。
也就是说,在本发明实施例中,上述显示内容信息包括:将显示内容进行分块后的一块或多块显示数据、与各块显示数据对应的key值、以及与各块显示数据对应的哈希值。
浏览器端接收客户端浏览器发送的组成显示内容的各块显示数据所对应的key值和哈希值;并判断key值和哈希值与服务器端浏览器相对应显示内容的各块显示数据所对应的key值和哈希值是否相同,如果不同,则将最新显示数据、以及相应的key值和哈希值发送到客户端浏览器。
图7是本发明一个实施例的服务器端分割页面的示意图,图8是本发明一个实施例的客户端浏览器显示的内容块的示意图,如图7和图8所示,图7表示了服务器端对网页所做的页面分割处理,并根据url、偏移位置等信息计算出每个块的key和hash_value值;图8表示了客户端浏览器当前浏览该页面所覆盖的块www.test.com.cn_0_0、www.test.com.cn_0_240到www.test.com.cn_240_640,客户端浏览器将这些块的数据以块为单位进行缓存。当用户再次浏览当前区域的内容时,只需要将覆盖的块的key和hash_value值传给服务器端,由服务器判断是否需要对某些块的数据进行重传。
为了保证用户的网络安全,在本发明实施例中,服务器端还设置有安全策略,主要分为页面病毒文件隔离、木马文件检查和恶意网址过滤。
其中,病毒文件隔离:当前的电脑病毒大多是通过互联网进行传输的,服务器端能够接入网络安全公司的病毒库,可以快速的检测出病毒文件,并及时的进行隔离,防止病毒传输到用户客户端,有效的阻断了病毒的传输。
木马文件检查:现在有很多网站被恶意的挂上木马文件,用户的一些个人信息会被这些木马文件获取,并发送给木马的拥有者,从而造成了用户信息的泄漏。服务器端可以有效的查杀木马,保证用户的个人数据安全。
恶意网址过滤:服务器端通过接入一些知名网络安全公司的安全网址库和恶意网址库,来帮助用户判断网址的性质,并给予用户一定的提示信息,保证用户的个人权益。对有恶意代码的网页,服务器端通过与安全防护软件或其他方式来保证服务器端的网络安全。
综上所述,本发明实施例的技术方案在响应速度快,流量消耗少的情况下,还能保证很好的渲染效果,同时支持所有的用户操作,给用户提供了很好的上网环境,保证用户的上网安全。
根据本发明的实施例,提供了一种服务器,需要说明的是,本发明实施例的服务器可以为云端服务器。图9是本发明一个实施例的服务器的结构示意图,如图9所示,根据本发明实施例的服务器包括:启动单元90、以及处理单元92,以下对本发明实施例的各个模块进行详细的说明。
启动单元90,适于通过客户端交互接口接收客户端浏览器发送的启动请求,启动一个与客户端浏览器相对应的服务器端浏览器,并通过客户端交互接口向客户端浏览器发送启动成功响应;
在接收到客户端启动浏览器的请求后,启动单元90需要启动一个真实的浏览器(客户端浏览器只是一个类似与远程控制的客户端),在本发明实施例中,这个浏览器会绑定该客户端,不会被其它客户端访问到,能够保护用户的隐私数据。
优选地,启动单元90在服务器端启动一个与客户端浏览器相对应的服务器端浏览器时,首先需要在服务器端启动一个与客户端浏览器相对应的服务器端浏览器进程,并在缓存中启动一个与服务器端浏览器进程对应的服务器端浏览器页面。
在本发明实施例中,启动请求中还可以携带有客户端浏览器的用户标识。服务器端的用户数据存储模块可以根据上述用户标识将用户数据(包括:浏览器收藏夹数据、和/或浏览历史数据)存储在数据库中,服务器端的用户数据更新模块根据客户端浏览器发送的用户操作更新数据库中相应的用户数据。
在接收到客户端侧的用户登录请求并登陆成功后,启动单元90根据用户标识从数据库中获取相应的用户数据,并将用户数据加载在缓存中相应的服务器端浏览器页面中。
在实际应用中,有些用户数据涉及到用户的个人财产安全而不能在服务器端进行存储,而有的用户数据为了方便用户操作是需要在服务器端进行存储的,例如,收藏夹、浏览历史等其它信息。用户数据存储模块将每个用户的这些数据维护成一个表,同时可以使用用户登录的密码进行加密。在某个用户启动客户端浏览器时,启动单元90将用户的ID(或其它信息)作为key,获取到对应的用户数据,并加载到服务器端当前为该用户启动的浏览器上。此外,用户可以执行一些操作从而对这些数据进行管理,用户数据更新模块根据用户的操作请求作出相应的处理,最终更新到服务器端对应用户的数据表上,完成用户的操作请求。
处理单元92,适于通过客户端交互接口获取客户端浏览器发送的用户对客户端浏览器输入的信息和输入焦点位置信息,根据信息和输入焦点位置信息对服务器端浏览器执行相应处理,并将操作结果信息发送到客户端浏览器。
处理单元92需要获取客户端浏览器发送的用户对客户端浏览器输入的信息,其中,用户对客户端浏览器输入的信息包括:用户对客户端浏览器输入的文字信息、用户对客户端浏览器进行滚屏操作的偏移量、或者用户对客户端浏览器进行浏览器事件操作或网页事件操作的输入焦点位置信息等。
处理单元92获取客户端浏览器发送的用户对客户端浏览器输入的信息和输入焦点位置信息,根据信息和输入焦点位置信息对服务器端浏览器执行相应处理,并将操作结果信息发送到客户端浏览器。随后,客户端浏览器显示和/或执行服务器端返回的操作结果信息。
下面对用户对服务器端进行各种操作时的处理过程进行详细说明。
图3是本发明一个实施例的客户端浏览器与服务器端进行交互的处理示意图一,图4是本发明一个实施例的客户端浏览器与服务器端进行交互的处理示意图二,如图3和图4所示,根据本发明实施例的客户端浏览器与服务器端的交互包括如下几种操作:
一、输入
处理单元92需要获取客户端浏览器发送的用户对客户端浏览器输入的文字信息和输入文字信息的输入焦点位置信息;随后,根据输入焦点位置信息计算出在服务器端浏览器上对应的输入框,将信息填入数据框,并向客户端浏览器反馈响应信息,其中,响应信息中携带有输入成功或失败的信息、以及在输入文字信息成功时携带的客户端浏览器需要更新的显示内容信息。
在实际应用中,处理单元92在接收到客户端浏览器发送的输入信息后,会根据客户端浏览器发送的位置信息计算出对应的输入框,并将客户端浏览器提交的输入信息填写到输入框中,最后返回给客户端对应的响应(成功或错误码)以及需要更新的显示内容。
二、滚屏操作
处理单元92获取客户端浏览器发送的用户对客户端浏览器进行滚屏操作的偏移量;并根据滚屏操作的偏移量计算页面偏移量,随后根据页面偏移量确定客户端浏览器需要更新的显示内容信息,并向客户端浏览器反馈响应信息,其中,响应信息中携带有客户端浏览器需要更新的显示内容信息。
在计算页面偏移量时,如果dx滚屏+x+浏览器宽度>页面宽度,则dx页面=页面宽度-(x+浏览器宽度),否则,dx页面=dx滚屏,其中,dx滚屏为客户端浏览器提交的用户进行滚屏操作的x轴的偏移量,x为页面当前位置的x轴坐标;如果dy滚屏+y+浏览器高度>页面高度,则dy页面=页面高度-(x+浏览器高度),否则,dy页面=dy滚屏,其中,dy滚屏为客户端浏览器提交的用户进行滚屏操作的y轴的偏移量,y为页面当前位置的y轴坐标。
例如,如客户端提交的偏移:dx=50,dy=100,页面当前的位置为x=0,y=100,页面宽度page_width=500,高度page_height=1000,浏览器的宽度device_width=480,高度device_height=800,为了保证偏移后浏览器不会超出页面的显示范围,最终的偏移量为dx=20,dy=100。
三、事件
在本发明实施例中,事件分为两种:浏览器事件和网页事件,其中,浏览器事件:指客户端与服务器端浏览器的交互事件,包括新建标签页、关闭标签页、切换标签页、管理收藏夹、撤销操作等,这些事件通过用户在客户端点击浏览器显示的按键或菜单完成,客户端浏览器将点击的位置信息上传给服务器端,由服务器端浏览器完成后续处理。网页事件:指客户端通过服务器端浏览器与网页之间的交互事件。用户在浏览网页时,会点击上面不同的链接、图片、按键等控件,客户端浏览器根据用户点击的位置、时间等信息传输给服务器端,并根据服务器端的响应做出相应的处理。
具体地,处理单元92从客户端浏览器获取用户对客户端浏览器进行点击的输入焦点位置信息,并根据输入焦点位置信息判断事件类型是浏览器事件还是网页事件;随后,根据事件类型执行相应的处理,并向客户端浏览器反馈响应信息,其中,响应信息中携带有服务器端处理成功或失败的信息、以及处理成功时携带的客户端浏览器的显示内容信息。
图5是本发明一个实施例的判断事件类型是浏览器事件还是网页事件的示意图,如图5所示,接收到客户端对应的点击后,处理单元92根据提交的位置信息计算出对应服务端浏览器的位置,来判断该事件的类型:若输入焦点位置在浏览器框架上,则确定事件类型为浏览器事件;若输入焦点位置在网页范围内,则确定事件类型为网页事件。
在事件类型为浏览器事件的情况下,处理单元92直接根据浏览器事件在服务器端浏览器执行相应操作;也就是说,处理单元92根据浏览器事件进行相应的处理,无需向网页提交事件,在事件处理完成后返回给客户端对应的响应。例如,新建标签页,处理单元92在新建前先判断标签页是否达到上限,如果达到,则直接返回客户端不成功响应,否则,新建标签页并显示该页,将结果返回给客户端。
在事件类型为网页事件的情况下,处理单元92根据用户的网页事件操作,在服务器端浏览器上执行网页事件操作,与响应的网站服务器进行交互,将输入信息透传到相应的网站服务器。在实际应用中,处理单元92会模拟一次真实的点击事件,由不同的点击对象(控件)触发不同的响应。如果是一个链接,则打开对应的页面;如果是一个按键,则进行表单提交操作。待网站返回响应后,处理单元92将响应进行处理后返回给客户端,使其能够显示对应的内容。
四、下载和上传
在用户需要上传数据时,处理单元92从客户端浏览器下载用户需要上传到网页的数据,并将该数据上传到相应的网站服务器;在用户需要下载数据时,处理单元92根据客户端浏览器的请求从相应的网站服务器下载用户需要从网页下载的数据,并将该数据上传到客户端浏览器。
也就是说,在客户端浏览器进行上传操作时,处理单元92先将文件通过FTP或私有协议上传到服务端,最终由服务器端完成向网站上传文件的操作,并返回给客户端对应的响应。在客户端浏览器进行下载操作时,处理单元92先将文件下载到本地,最终通过FTP或私有协议下载到客户端。
图6是本发明一个实施例的上传下载时进行数据压缩和解压缩的示意图,如图6所示,在上传或下载文件时,处理单元92可以进行gzip或其它算法的数据压缩,使传输的数据尽可能小,从而即减少了流量又提供了速度,在服务器端和客户端浏览器都有对应的压缩和解压缩功能,保证文件只是在传输过程中是压缩形式,而体现在客户端浏览器或网站时是非压缩原有格式。
五、关闭浏览器
服务器端的关闭模块接收客户端浏览器发送的关闭请求时,关闭服务器端浏览器,并向客户端浏览器发送关闭成功响应;或者,关闭模块主动向客户端浏览器发送关闭请求,如果在预定时间内未接收到客户端浏览器返回的响应信息,则自动关闭服务器端浏览器。
在实际应用中,关闭服务器端浏览器时,关闭模块需要将存储指定数据(例如,用户的收藏夹数据、浏览历史数据等),然后清除用户信息、cookie及缓存后,才能关闭服务器端浏览器。
需要说明的是,在上述操作中,处理单元92对客户端请求的响应最终返回的是显示相关的数据,具体的方式有两种:一种是只返回当前显示范围内的数据,当用户滚屏时,根据偏移来返回对应的数据;另一种是返回当前显示的数据后,在用户浏览的同时,将超出显示范围内的数据也传送过来。
此外,在实际应用中,用户在浏览网站时,有时会输入个人信息用以登陆、支付等操作,这就出现了安全问题。在本发明实施例中,为了保证客户端浏览器的安全,服务器端的会对用户间数据进行隔离,具体地,对于不同用户来说,服务器端会为每个用户创建一个浏览器实例,一个浏览器实例可以开启多个窗口,为了保证用户信息的安全性,用户所对应的浏览器实例会进行数据隔离,并且在用户退出时将对应的浏览器实例销毁。此外,服务器端不存储用户隐私数据,服务器端对用户提交的个人信息不进行存储,这样有效的防止黑客即使成功攻击入侵服务器时,也无法获取到用户的个人信息。
在本发明实施例中,为了解决用户浏览已浏览过页面或部分的响应问题,当客户端新请求一个页面时,由处理单元92将这个页面分割成小块,将分割后的小块进行标记key,并计算出该块数据的HASH值hash_value,key和hash_value与该块的数据一并发送给客户端。客户端在接收到数据后,将数据进行缓存,当下次再浏览该块页面时,只需将key和hash_value传送给服务器端以判断该块数据是否依然有效,即判断该块页面与当前服务器端对应页面块(key)对应的数据(通过hash_value)是否相同,来决定是否需要重传数据。如果某块有变化,则只需要传输变化的那块数据。其中,key值由URL、横向起始位置和纵向起始位置组成。
也就是说,在本发明实施例中,上述显示内容信息包括:将显示内容进行分块后的一块或多块显示数据、与各块显示数据对应的key值、以及与各块显示数据对应的哈希值。
处理单元92接收客户端浏览器发送的组成显示内容的各块显示数据所对应的key值和哈希值;并判断key值和哈希值与服务器端浏览器相对应显示内容的各块显示数据所对应的key值和哈希值是否相同,如果不同,则将最新显示数据、以及相应的key值和哈希值发送到客户端浏览器。
图7是本发明一个实施例的服务器端分割页面的示意图,图8是本发明一个实施例的客户端浏览器显示的内容块的示意图,如图7和图8所示,图7表示了服务器端对网页所做的页面分割处理,并根据url、偏移位置等信息计算出每个块的key和hash_value值;图8表示了客户端浏览器当前浏览该页面所覆盖的块www.test.com.cn 00、www.test.com.cn0240到www.test.com.cn_240_640,客户端浏览器将这些块的数据以块为单位进行缓存。当用户再次浏览当前区域的内容时,只需要将覆盖的块的key和hash_value值传给服务器端,由服务器判断是否需要对某些块的数据进行重传。
为了保证用户的网络安全,在本发明实施例中,处理单元92中还设置有过滤模块、病毒模块、以及木马模块,其中,过滤模块,适于在事件类型为网页事件的情况下,对恶意网址进行过滤。病毒模块,适于对发送到客户端浏览器的数据进行病毒检测,将检测出的病毒文件进行隔离;木马模块,适于对发送到客户端浏览器的数据进行木马查杀。
具体地,病毒文件隔离:当前的电脑病毒大多是通过互联网进行传输的,服务器端能够接入网络安全公司的病毒库,可以快速的检测出病毒文件,并及时的进行隔离,防止病毒传输到用户客户端,有效的阻断了病毒的传输。
木马文件检查:现在有很多网站被恶意的挂上木马文件,用户的一些个人信息会被这些木马文件获取,并发送给木马的拥有者,从而造成了用户信息的泄漏。服务器端可以有效的查杀木马,保证用户的个人数据安全。
恶意网址过滤:服务器端通过接入一些知名网络安全公司的安全网址库和恶意网址库,来帮助用户判断网址的性质,并给予用户一定的提示信息,保证用户的个人权益。对有恶意代码的网页,服务器端通过与安全防护软件或其他方式来保证服务器端的网络安全。
综上所述,本发明实施例的技术方案在响应速度快,流量消耗少的情况下,还能保证很好的渲染效果,同时支持所有的用户操作,给用户提供了很好的上网环境,保证用户的上网安全。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的服务器中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本文公开了A1、一种服务器端浏览器实现方法,包括:接收客户端浏览器发送的启动请求,在所述服务器端启动一个与所述客户端浏览器相对应的服务器端浏览器,并向所述客户端浏览器发送启动成功响应;获取所述客户端浏览器发送的用户对所述客户端浏览器输入的信息和输入焦点位置信息,根据所述信息和所述输入焦点位置信息对所述服务器端浏览器执行相应处理,并将操作结果信息发送到所述客户端浏览器。A2、如A1所述的方法,其特征在于,在所述服务器端启动一个与所述客户端浏览器相对应的服务器端浏览器具体包括:在所述服务器端启动一个与所述客户端浏览器相对应的服务器端浏览器进程,并在缓存中启动一个与所述服务器端浏览器进程对应的服务器端浏览器页面。A3、如A1或A2所述的方法,其特征在于,所述方法进一步包括:接收所述客户端浏览器发送的关闭请求,关闭所述服务器端浏览器,并向所述客户端浏览器发送关闭成功响应;或者,向所述客户端浏览器发送关闭请求,如果在预定时间内未接收到所述客户端浏览器返回的响应信息,则自动关闭所述服务器端浏览器。A4、如A1至A3中任一项所述的方法,其特征在于,所述方法进一步包括:所述启动请求中携带有所述客户端浏览器的用户标识;根据用户标识将用户数据存储在数据库中,其中,所述用户数据包括:浏览器收藏夹数据、和/或浏览历史数据;根据所述客户端浏览器发送的用户操作更新所述数据库中相应的用户数据。A5、如A1至A4中任一项所述的方法,其特征在于,在所述服务器端启动一个与所述客户端浏览器相对应的服务器端浏览器之后,所述方法进一步包括:在接收到客户端侧的用户登录请求并登陆成功后,所述服务器端浏览器进程根据所述用户标识从所述数据库中获取相应的用户数据,并将所述用户数据加载在所述缓存中相应的服务器端浏览器页面中。A6、如A1至A5中任一项所述的方法,其特征在于,获取所述客户端浏览器发送的用户对所述客户端浏览器输入的信息和/或输入焦点位置信息,根据所述信息和所述输入焦点位置信息对所述服务器端浏览器执行相应处理,并将操作结果信息发送到所述客户端浏览器进一步包括:获取所述客户端浏览器发送的用户对所述客户端浏览器输入的文字信息和输入所述文字信息的输入焦点位置信息;所述服务器端根据所述输入焦点位置信息计算出在所述服务器端浏览器上对应的输入框,将所述信息填入所述数据框,并向所述客户端浏览器反馈响应信息,其中,所述响应信息中携带有输入成功或失败的信息、以及在输入文字信息成功时携带的所述客户端浏览器需要更新的显示内容信息。A7、如A1至A6中任一项所述的方法,其特征在于,获取所述客户端浏览器发送的用户对所述客户端浏览器输入的信息和/或输入焦点位置信息,根据所述信息和所述输入焦点位置信息对所述服务器端浏览器执行相应处理,并将操作结果信息发送到所述客户端浏览器进一步包括:获取所述客户端浏览器发送的用户对所述客户端浏览器进行滚屏操作的偏移量;所述服务器端根据所述滚屏操作的偏移量计算页面偏移量,并根据所述页面偏移量确定所述客户端浏览器需要更新的显示内容信息,并向所述客户端浏览器反馈响应信息,其中,所述响应信息中携带有所述客户端浏览器需要更新的显示内容信息。A8、如A1至A7中任一项所述的方法,其特征在于,所述服务器端根据所述滚屏操作的偏移量计算页面偏移量进一步包括:如果dx滚屏+x+浏览器宽度>页面宽度,则dx页面=页面宽度-(x+浏览器宽度),否则,dx页面=dx滚屏,其中,dx滚屏为所述客户端浏览器提交的用户进行滚屏操作的x轴的偏移量,x为页面当前位置的x轴坐标;和/或如果dy滚屏+y+浏览器高度>页面高度,则dy页面=页面高度-(x+浏览器高度),否则,dy页面=dy滚屏,其中,dy滚屏客户端浏览器提交的用户进行滚屏操作的y轴的偏移量,y为页面当前位置的y轴坐标。A9、如A1至A8中任一项所述的方法,其特征在于,获取所述客户端浏览器发送的用户对所述客户端浏览器输入的信息和/或输入焦点位置信息,根据所述信息和所述输入焦点位置信息对所述服务器端浏览器执行相应处理,并将操作结果信息发送到所述客户端浏览器进一步包括:从所述客户端浏览器获取用户对所述客户端浏览器进行点击的输入焦点位置信息,并根据所述输入焦点位置信息判断事件类型,其中,所述事件类型包括:浏览器事件、或网页事件;根据所述事件类型执行相应的处理,并向所述客户端浏览器反馈响应信息,其中,所述响应信息中携带有所述服务器端处理成功或失败的信息、以及处理成功时携带的所述客户端浏览器的显示内容信息。A10、如A1至A9中任一项所述的方法,其特征在于,根据所述输入焦点位置信息判断事件类型具体包括:若输入焦点位置在浏览器框架上,则确定事件类型为浏览器事件;若输入焦点位置在网页范围内,则确定事件类型为网页事件;根据所述事件类型执行相应的处理进一步包括:在所述事件类型为浏览器事件的情况下,所述服务器端直接根据所述浏览器事件在所述服务器端浏览器执行相应操作;在所述事件类型为网页事件的情况下,所述服务器端根据用户的网页事件操作,在所述服务器端浏览器上执行所述网页事件操作,与响应的网站服务器进行交互,将输入信息透传到所述相应的网站服务器。A11、如A1至A10中任一项所述的方法,其特征在于,所述浏览器事件操作包括:新建标签页、关闭标签页、切换标签页、管理收藏夹、或撤销操作;所述网页事件操作包括:对网页上的连接、图片、或按钮的操作。A12、如A1至A11中任一项所述的方法,其特征在于,所述显示内容信息包括:将显示内容进行分块后的一块或多块显示数据、与各块显示数据对应的key值、以及与各块显示数据对应的哈希值。A13、如A1至A12中任一项所述的方法,其特征在于,所述方法进一步包括:接收所述客户端浏览器发送的组成显示内容的各块显示数据所对应的key值和哈希值;判断所述key值和所述哈希值与所述服务器端浏览器相对应显示内容的各块显示数据所对应的key值和哈希值是否相同,如果不同,则将最新显示数据、以及相应的key值和哈希值发送到所述客户端浏览器。A14、如A1至A13中任一项所述的方法,其特征在于,获取所述客户端浏览器发送的用户对所述客户端浏览器输入的信息和/或输入焦点位置信息,根据所述信息和所述输入焦点位置信息对所述服务器端浏览器执行相应处理,并将操作结果信息发送到所述客户端浏览器进一步包括:从所述客户端浏览器下载用户需要上传到网页的数据,并将该数据上传到相应的网站服务器;根据所述客户端浏览器的请求从相应的网站服务器下载用户需要从网页下载的数据,并将该数据上传到所述客户端浏览器。A15、如A1至A14中任一项所述的方法,其特征在于,所述方法进一步包括:在所述事件类型为网页事件的情况下,对恶意网址进行过滤。A16、如A1至A15中任一项所述的方法,其特征在于,所述方法进一步包括:对发送到所述客户端浏览器的数据进行病毒检测,将检测出的病毒文件进行隔离;对发送到所述客户端浏览器的数据进行木马查杀。
本文公开了B17、一种服务器,包括:启动单元,适于通过客户端交互接口接收客户端浏览器发送的启动请求,启动一个与所述客户端浏览器相对应的服务器端浏览器,并通过所述客户端交互接口向所述客户端浏览器发送启动成功响应;处理单元,适于通过所述客户端交互接口获取所述客户端浏览器发送的用户对所述客户端浏览器输入的信息和输入焦点位置信息,根据所述信息和所述输入焦点位置信息对所述服务器端浏览器执行相应处理,并将操作结果信息发送到所述客户端浏览器。B18、如B17所述的服务器,其特征在于,所述启动单元进一步适于:在所述服务器端启动一个与所述客户端浏览器相对应的服务器端浏览器进程,并在缓存中启动一个与所述服务器端浏览器进程对应的服务器端浏览器页面。B19、如B17至B18中任一项所述的服务器,其特征在于,所述服务器进一步包括:关闭模块,适于通过所述客户端交互接口接收所述客户端浏览器发送的关闭请求,关闭所述服务器端浏览器,并通过所述客户端交互接口向所述客户端浏览器发送关闭成功响应,或者,向所述客户端浏览器发送关闭请求,如果在预定时间内未接收到所述客户端浏览器返回的响应信息,则自动关闭所述服务器端浏览器。B20、如B17至B19中任一项所述的服务器,其特征在于,所述启动请求中携带有所述客户端浏览器的用户标识;所述服务器进一步包括:用户数据存储模块,适于根据用户标识将用户数据存储在数据库中,其中,所述用户数据包括:浏览器收藏夹数据、和/或浏览历史数据;用户数据更新模块,适于根据所述客户端浏览器发送的用户操作更新所述数据库中相应的用户数据。B21、如B17至B20中任一项所述的服务器,其特征在于,所述启动单元进一步适于:在通过所述客户端交互接口接收到客户端侧的用户登录请求并登陆成功后,通过所述服务器端浏览器进程,根据所述用户标识从所述数据库中获取相应的用户数据,并将所述用户数据加载在所述缓存中相应的服务器端浏览器页面中。B22、如B17至B21中任一项所述的服务器,其特征在于,所述处理单元进一步适于:通过所述客户端交互接口获取所述客户端浏览器发送的用户对所述客户端浏览器输入的文字信息和输入所述文字信息的输入焦点位置信息;根据所述输入焦点位置信息计算出在所述服务器端浏览器上对应的输入框,将所述信息填入所述数据框,并向所述客户端浏览器反馈响应信息,其中,所述响应信息中携带有输入成功或失败的信息、以及在输入文字信息成功时携带的所述客户端浏览器需要更新的显示内容信息。B23、如B17至B22中任一项所述的服务器,其特征在于,所述处理单元进一步适于:通过所述客户端交互接口获取所述客户端浏览器发送的用户对所述客户端浏览器进行滚屏操作的偏移量;根据所述滚屏操作的偏移量计算页面偏移量,并根据所述页面偏移量确定所述客户端浏览器需要更新的显示内容信息,并向所述客户端浏览器反馈响应信息,其中,所述响应信息中携带有所述客户端浏览器需要更新的显示内容信息。B24、如B17至B23中任一项所述的服务器,其特征在于,所述处理单元进一步适于:如果dx滚屏+x+浏览器宽度>页面宽度,则确定dx页面=页面宽度-(x+浏览器宽度),否则,dx页面=dx滚屏,其中,dx滚屏为所述客户端浏览器提交的用户进行滚屏操作的x轴的偏移量,x为页面当前位置的x轴坐标;和/或如果dy滚屏+y+浏览器高度>页面高度,则确定dy页面=页面高度-(x+浏览器高度),否则,dy页面=dy滚屏,其中,dy滚屏为所述客户端浏览器提交的用户进行滚屏操作的y轴的偏移量,y为页面当前位置的y轴坐标。B25、如B17至B24中任一项所述的服务器,其特征在于,所述处理单元进一步适于:通过所述客户端交互接口从所述客户端浏览器获取用户对所述客户端浏览器进行点击的输入焦点位置信息,并根据所述输入焦点位置信息判断事件类型,其中,所述事件类型包括:浏览器事件、或网页事件;根据所述事件类型执行相应的处理,并通过所述客户端交互接口向所述客户端浏览器反馈响应信息,其中,所述响应信息中携带有所述服务器端处理成功或失败的信息、以及处理成功时携带的所述客户端浏览器的显示内容信息。B26、如B17至B25中任一项所述的服务器,其特征在于,所述处理单元进一步适于:若输入焦点位置在浏览器框架上,则确定事件类型为浏览器事件;若输入焦点位置在网页范围内,则确定事件类型为网页事件;在所述事件类型为浏览器事件的情况下,直接根据所述浏览器事件在所述服务器端浏览器执行相应操作;在所述事件类型为网页事件的情况下,根据用户的网页事件操作,在所述服务器端浏览器上执行所述网页事件操作,通过网站服务器交互接口与响应的网站服务器进行交互,将操作信息透传到所述相应的网站服务器。B27、如B17至B26中任一项所述的服务器,其特征在于,所述浏览器事件操作包括:新建标签页、关闭标签页、切换标签页、管理收藏夹、或撤销操作;所述网页事件操作包括:对网页上的连接、图片、或按钮的操作。B28、如B17至B27中任一项所述的服务器,其特征在于,所述显示内容信息包括:将显示内容进行分块后的一块或多块显示数据、与各块显示数据对应的key值、以及与各块显示数据对应的哈希值。B29、如B17至B28中任一项所述的服务器,其特征在于,所述处理单元进一步包括:接收所述客户端浏览器发送的组成显示内容的各块显示数据所对应的key值和哈希值;判断所述key值和所述哈希值与所述服务器端浏览器相对应显示内容的各块显示数据所对应的key值和哈希值是否相同,如果不同,则将最新显示数据、以及相应的key值和哈希值发送到所述客户端浏览器。B30、如B17至B29中任一项所述的服务器,其特征在于,所述处理单元进一步适于:从所述客户端浏览器下载用户需要上传到网页的数据,并将该数据上传到相应的网站服务器;从所述客户端浏览器下载用户需要上传到网页的数据,并将该数据上传到相应的网站服务器。B31、如B17至B30中任一项所述的服务器,其特征在于,所述服务器进一步包括:过滤模块,适于在所述事件类型为网页事件的情况下,对恶意网址进行过滤。B32、如B17至B31中任一项所述的服务器,其特征在于,所述服务器进一步包括:病毒模块,适于对发送到所述客户端浏览器的数据进行病毒检测,将检测出的病毒文件进行隔离;木马模块,适于对发送到所述客户端浏览器的数据进行木马查杀。
Claims (24)
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中任一项所述的方法,其特征在于,获取所述客户端浏览器发送的用户对所述客户端浏览器输入的信息和输入焦点位置信息,根据所述信息和所述输入焦点位置信息对所述服务器端浏览器执行相应处理,并将操作结果信息发送到所述客户端浏览器进一步包括:
从所述客户端浏览器下载用户需要上传到网页的数据,并将该数据上传到相应的网站服务器;
根据所述客户端浏览器的请求从相应的网站服务器下载用户需要从网页下载的数据,并将该数据上传到所述客户端浏览器。
12.如权利要求1至4中任一项所述的方法,其特征在于,所述方法进一步包括:
对发送到所述客户端浏览器的数据进行病毒检测,将检测出的病毒文件进行隔离;
对发送到所述客户端浏览器的数据进行木马查杀。
13.一种服务器,包括:
启动单元,适于通过客户端交互接口接收客户端浏览器发送的启动请求,启动一个与所述客户端浏览器相对应的服务器端浏览器,并通过所述客户端交互接口向所述客户端浏览器发送启动成功响应;
处理单元,适于通过所述客户端交互接口获取所述客户端浏览器发送的用户对所述客户端浏览器输入的信息和输入焦点位置信息,根据所述信息和所述输入焦点位置信息对所述服务器端浏览器执行相应处理,并将操作结果信息发送到所述客户端浏览器;
其中,所述启动单元进一步适于:在所述服务器端启动一个与所述客户端浏览器相对应的服务器端浏览器进程,并在缓存中启动一个与所述服务器端浏览器进程对应的服务器端浏览器页面;
所述处理单元进一步适于:
通过所述客户端交互接口获取所述客户端浏览器发送的用户对所述客户端浏览器输入的文字信息和输入所述文字信息的输入焦点位置信息;
根据所述输入焦点位置信息计算出在所述服务器端浏览器上对应的输入框,将所述文字信息填入所述输入框,并向所述客户端浏览器反馈响应信息,其中,所述响应信息中携带有输入成功或失败的信息、以及在输入文字信息成功时携带的所述客户端浏览器需要更新的显示内容信息;
所述处理单元进一步适于:
通过所述客户端交互接口获取所述客户端浏览器发送的用户对所述客户端浏览器进行滚屏操作的偏移量;
根据所述滚屏操作的偏移量计算页面偏移量,并根据所述页面偏移量确定所述客户端浏览器需要更新的显示内容信息,并向所述客户端浏览器反馈响应信息,其中,所述响应信息中携带有所述客户端浏览器需要更新的显示内容信息;
所述处理单元进一步适于:
如果dx滚屏+x+浏览器宽度>页面宽度,则确定dx页面=页面宽度-(x+浏览器宽度),否则,dx页面=dx滚屏,其中,dx滚屏为所述客户端浏览器提交的用户进行滚屏操作的x轴的偏移量,x为页面当前位置的x轴坐标;和/或
如果dy滚屏+y+浏览器高度>页面高度,则确定dy页面=页面高度-(x+浏览器高度),否则,dy页面=dy滚屏,其中,dy滚屏为所述客户端浏览器提交的用户进行滚屏操作的y轴的偏移量,y为页面当前位置的y轴坐标。
14.如权利要求13所述的服务器,其特征在于,所述服务器进一步包括:
关闭模块,适于通过所述客户端交互接口接收所述客户端浏览器发送的关闭请求,关闭所述服务器端浏览器,并通过所述客户端交互接口向所述客户端浏览器发送关闭成功响应,或者,向所述客户端浏览器发送关闭请求,如果在预定时间内未接收到所述客户端浏览器返回的响应信息,则自动关闭所述服务器端浏览器。
15.如权利要求13所述的服务器,其特征在于,所述启动请求中携带有所述客户端浏览器的用户标识;
所述服务器进一步包括:
用户数据存储模块,适于根据用户标识将用户数据存储在数据库中,其中,所述用户数据包括:浏览器收藏夹数据、和/或浏览历史数据;
用户数据更新模块,适于根据所述客户端浏览器发送的用户操作更新所述数据库中相应的用户数据。
16.如权利要求13所述的服务器,其特征在于,所述启动单元进一步适于:在通过所述客户端交互接口接收到客户端侧的用户登录请求并登陆成功后,通过所述服务器端浏览器进程,根据所述用户标识从数据库中获取相应的用户数据,并将所述用户数据加载在所述缓存中相应的服务器端浏览器页面中。
17.如权利要求14至16中任一项所述的服务器,其特征在于,所述处理单元进一步适于:
通过所述客户端交互接口从所述客户端浏览器获取用户对所述客户端浏览器进行点击的输入焦点位置信息,并根据所述输入焦点位置信息判断事件类型,其中,所述事件类型包括:浏览器事件、或网页事件;
根据所述事件类型执行相应的处理,并通过所述客户端交互接口向所述客户端浏览器反馈响应信息,其中,所述响应信息中携带有所述服务器端处理成功或失败的信息、以及处理成功时携带的所述客户端浏览器的显示内容信息。
18.如权利要求17所述的服务器,其特征在于,所述处理单元进一步适于:
若输入焦点位置在浏览器框架上,则确定事件类型为浏览器事件;
若输入焦点位置在网页范围内,则确定事件类型为网页事件;
在所述事件类型为浏览器事件的情况下,直接根据所述浏览器事件在所述服务器端浏览器执行相应操作;
在所述事件类型为网页事件的情况下,根据用户的网页事件操作,在所述服务器端浏览器上执行所述网页事件操作,通过网站服务器交互接口与相应的网站服务器进行交互,将操作信息透传到所述相应的网站服务器。
19.如权利要求18所述的服务器,其特征在于,
根据所述浏览器事件在所述服务器端浏览器执行的操作包括:新建标签页、关闭标签页、切换标签页、管理收藏夹、或撤销操作;
所述网页事件操作包括:对网页上的链接、图片、或按钮的操作。
20.如权利要求17所述的服务器,其特征在于,所述服务器进一步包括:
过滤模块,适于在所述事件类型为网页事件的情况下,对恶意网址进行过滤。
21.如权利要求13至16中任一项所述的服务器,其特征在于,所述显示内容信息包括:将显示内容进行分块后的一块或多块显示数据、与各块显示数据对应的key值、以及与各块显示数据对应的哈希值。
22.如权利要求13至16中任一项所述的服务器,其特征在于,所述处理单元进一步包括:
接收所述客户端浏览器发送的组成显示内容的各块显示数据所对应的key值和哈希值;
判断所述key值和所述哈希值与所述服务器端浏览器相对应显示内容的各块显示数据所对应的key值和哈希值是否相同,如果不同,则将最新显示数据、以及相应的key值和哈希值发送到所述客户端浏览器。
23.如权利要求13至16中任一项所述的服务器,其特征在于,所述处理单元进一步适于:
从所述客户端浏览器下载用户需要上传到网页的数据,并将该数据上传到相应的网站服务器;
根据所述客户端浏览器的请求从相应的网站服务器下载用户需要从网页下载的数据,并将该数据上传到所述客户端浏览器。
24.如权利要求13至16中任一项所述的服务器,其特征在于,所述服务器进一步包括:
病毒模块,适于对发送到所述客户端浏览器的数据进行病毒检测,将检测出的病毒文件进行隔离;
木马模块,适于对发送到所述客户端浏览器的数据进行木马查杀。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210447433.2A CN102981705B (zh) | 2012-11-09 | 2012-11-09 | 服务器端浏览器实现方法及服务器 |
PCT/CN2013/082160 WO2014071764A1 (zh) | 2012-11-09 | 2013-08-23 | 客户端浏览器、服务器端浏览器及其实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210447433.2A CN102981705B (zh) | 2012-11-09 | 2012-11-09 | 服务器端浏览器实现方法及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102981705A CN102981705A (zh) | 2013-03-20 |
CN102981705B true CN102981705B (zh) | 2018-04-27 |
Family
ID=47855804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210447433.2A Expired - Fee Related CN102981705B (zh) | 2012-11-09 | 2012-11-09 | 服务器端浏览器实现方法及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102981705B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014071764A1 (zh) * | 2012-11-09 | 2014-05-15 | 北京奇虎科技有限公司 | 客户端浏览器、服务器端浏览器及其实现方法 |
CN103258056B (zh) * | 2013-05-31 | 2016-06-29 | 北京奇虎科技有限公司 | 处理风格样式表的方法、服务器、客户端和系统 |
CN103281387B (zh) * | 2013-05-31 | 2017-04-12 | 北京奇虎科技有限公司 | 处理网页中子资源的方法、服务器、客户端和系统 |
CN103559097B (zh) * | 2013-10-18 | 2017-06-09 | 北京奇虎科技有限公司 | 一种浏览器中进程间通信的方法、装置和浏览器 |
TW201600971A (zh) * | 2014-06-19 | 2016-01-01 | Walton Advanced Eng Inc | 用於提供快速執行項目的方法 |
CN104410614B (zh) * | 2014-11-19 | 2018-12-14 | 北京奇虎科技有限公司 | 数据传输、显示方法、装置及系统 |
CN107592236A (zh) * | 2016-07-07 | 2018-01-16 | 北京奇虎科技有限公司 | 一种推广信息相关的业务数据的监控方法和装置 |
CN108241703B (zh) * | 2016-12-27 | 2022-01-18 | 腾讯科技(深圳)有限公司 | 网页数据传输方法和装置 |
CN109460232B (zh) * | 2018-09-27 | 2022-09-16 | 深圳新基点智能股份有限公司 | 一种组态页面的制作和监控方法 |
CN114124487B (zh) * | 2021-11-10 | 2023-12-01 | 恒安嘉新(北京)科技股份公司 | 网页访问的实现方法、装置、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102917074B (zh) * | 2012-11-09 | 2016-08-03 | 北京奇虎科技有限公司 | 一种实现服务器端浏览器的方法和服务器 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101388902B (zh) * | 2007-09-14 | 2011-12-07 | 英业达股份有限公司 | 通过客户端实现图形化网页浏览之系统及其方法 |
US7664862B2 (en) * | 2008-01-14 | 2010-02-16 | International Business Machines Corporation | Browser-based proxy server for customization and distribution of existing applications |
CN102024055B (zh) * | 2010-12-20 | 2012-06-06 | 广州市动景计算机科技有限公司 | 移动终端网页浏览时的自动对齐方法和装置 |
WO2013097066A1 (zh) * | 2011-12-26 | 2013-07-04 | 华为技术有限公司 | 一种实现远程桌面环境下网页浏览的方法、装置和系统 |
CN102708173B (zh) * | 2012-05-02 | 2014-08-13 | 北京奇虎科技有限公司 | 处理用户访问网页的请求的方法及系统 |
-
2012
- 2012-11-09 CN CN201210447433.2A patent/CN102981705B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102917074B (zh) * | 2012-11-09 | 2016-08-03 | 北京奇虎科技有限公司 | 一种实现服务器端浏览器的方法和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN102981705A (zh) | 2013-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102917074B (zh) | 一种实现服务器端浏览器的方法和服务器 | |
CN102981705B (zh) | 服务器端浏览器实现方法及服务器 | |
US9710316B1 (en) | Flexible scripting platform for troubleshooting | |
CN102932469B (zh) | 一种实现客户端浏览器的方法和客户端浏览器 | |
US20090037517A1 (en) | Method and system to share content between web clients | |
CN107040584B (zh) | 客户端下载图片的方法及装置 | |
WO2018001124A1 (zh) | 网页文件发送方法、网页渲染方法及装置、网页渲染系统 | |
US10817653B2 (en) | Optimizing loading of web page based on aggregated user preferences for web page elements of web page | |
US20170032494A1 (en) | Methods for displaying a webpage fragment on a desktop and systems for taking a snapshot of webpage fragment for displaying on a desktop | |
US8949947B2 (en) | Network system and non-transitory computer-readable storage medium | |
US20150058713A1 (en) | Method and apparatus for sharing media content and method and apparatus for displaying media content | |
JP2012533823A (ja) | ローカルマシンに関する情報をブラウザアプリケーションに通信すること | |
US11455365B2 (en) | Data processing method and apparatus | |
CN102929489B (zh) | 客户端浏览器实现方法及客户端浏览器 | |
US20170235829A1 (en) | System and Methods for Optimizing the Response to a Request for Dynamic Web Content | |
CN106406851A (zh) | 一种网页截图方法、系统 | |
US9785489B1 (en) | Secure script execution using sandboxed environments | |
CN110795650A (zh) | 网页开启方法、装置及计算机可读存储介质 | |
EP3306510B1 (en) | Threat detection method and apparatus, and network system | |
CN110020242A (zh) | 一种基于Web的文档阅读进度同步方法及装置 | |
CN108038150B (zh) | 网页打开方法、装置及终端设备 | |
US11115462B2 (en) | Distributed system | |
CN112287261A (zh) | 资源加载方法和电子设备 | |
US9191392B2 (en) | Security configuration | |
CN106649792B (zh) | 一种页面访问方法及装置 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180427 Termination date: 20211109 |