WO2014071764A1 - Client side browser, server side browser and realization method thereof - Google Patents

Client side browser, server side browser and realization method thereof Download PDF

Info

Publication number
WO2014071764A1
WO2014071764A1 PCT/CN2013/082160 CN2013082160W WO2014071764A1 WO 2014071764 A1 WO2014071764 A1 WO 2014071764A1 CN 2013082160 W CN2013082160 W CN 2013082160W WO 2014071764 A1 WO2014071764 A1 WO 2014071764A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
information
browser
client browser
client
Prior art date
Application number
PCT/CN2013/082160
Other languages
French (fr)
Chinese (zh)
Inventor
马金韬
Original Assignee
北京奇虎科技有限公司
奇智软件(北京)有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from CN201210445185.8A external-priority patent/CN102929489B/en
Priority claimed from CN201210447433.2A external-priority patent/CN102981705B/en
Application filed by 北京奇虎科技有限公司, 奇智软件(北京)有限公司 filed Critical 北京奇虎科技有限公司
Publication of WO2014071764A1 publication Critical patent/WO2014071764A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation

Definitions

  • the present invention relates to the field of communications, and in particular, to a client browser, a server browser, and a corresponding implementation method thereof.
  • Background technique
  • the client kernel browser refers to the kernel embedded in the browser by the client, and sends the request directly to the website without going through any proxy server.
  • the client kernel browser is a browser/server structure (B/S), and the client directly requests the website through the HyperText Transfer Protocol (HTTP) protocol, and After receiving the response, the HTTP protocol is parsed first, then the hypertext markup language (Hypertext Markup Language) is parsed and the sub-resources are downloaded, the Dom Tree is generated and rendered, and finally displayed on the mobile terminal. Since the HTTP protocol is used for interaction between the client and the web server, the amount of interaction data is large, the traffic is consumed, the transmission time is long, and the response time is slow.
  • HTTP HyperText Transfer Protocol
  • the cloud kernel browser is a client/proxy server (Client/Server, called C/S) architecture.
  • the client sends a request to the cloud server, and the web server accesses the web page. After the page is acquired, the server parses and renders the server. The calculation then sends the rendered result to the client through a protocol.
  • the client displays the result on the terminal according to the result, and all client interactions are completed with the assistance of the server.
  • Processing method 1 Processing method 1:
  • the client sends a page request to the web page, and when the sub-resource is obtained, the request is sent to the proxy server, and the proxy server performs some processing on the sub-resource.
  • the proxy server only caches and compresses static pages and sub-resources such as images, CSS, and JS, and performs typography and screen rendering by a mobile client with full WAP/WWW resolution. This type of processing leads to problems with large amount of computation and large power consumption on the client side.
  • the client initiates a request to the proxy server, and the proxy server requests the resource from the webpage, and then parses the DOM Tree on the proxy server, and performs typesetting according to the font information uploaded by the client (it may also be specified by the server by default)
  • the font is typeset), and the sub-resources are processed accordingly, including compression and caching.
  • each type of control is sent to the client in a position, width, height, and content, and the client finally displays the content according to the information. On the client browser. This type of processing is due to the fonts required by the client on various terminals.
  • the typesetting is different, the difference is large, the proxy server is cumbersome to process, and the data processing burden is high, so the rendering effect of the client is poor (for example, the effect of the original page is lost, some dynamic script effects are poorly supported, etc.), and the interactive operation support is relatively poor. Poor, and low security issues.
  • the present invention has been made in order to provide a client browser implementation method and a client browser that overcome the above problems or at least partially solve the above problems.
  • a client browser implementation method including: receiving a trigger instruction for starting a client browser, sending a startup request to a server, and receiving a startup success response returned by the server
  • the client browser is started; the information input by the user to the client browser is received, the information and the input focus position information are sent to the server, and the operation result information returned by the server is displayed and/or executed.
  • a client browser including: a startup module, configured to receive a trigger instruction for starting a client browser, send a startup request to a server, and receive a startup returned by the server After successful response, the client browser is started; the processing module is adapted to receive the information input by the user to the client browser, send the information and the input focus position information to the server, and display and/or execute the operation result information returned by the server. .
  • a server-side browser implementation method including: receiving a startup request sent by a client browser, and starting a server-side browser corresponding to the client browser on the server side, and Sending a startup success response to the client browser; obtaining information input by the client browser to the client browser and inputting focus position information, performing corresponding processing on the server browser according to the information and the input focus position information, and The operation result information is sent to the client browser.
  • a server comprising: a starting unit, configured to receive a startup request sent by a client browser through a client interaction interface, and start a server browser corresponding to the client browser And sending a startup success response to the client browser through the client interaction interface; the processing unit is adapted to obtain, by using the client interaction interface, information input by the client browser and input focus position information by the client browser, according to The information and input focus position information are processed correspondingly to the server-side browser, and the operation result information is sent to the client browser.
  • the user operation is sent to the server, and then the browser of the server is received according to the user operation.
  • the processing result is displayed according to the processing result, and the invention can effectively reduce the data processing burden on the client side, and can ensure good rendering effect in the case of fast response speed and low traffic consumption, and supports all at the same time.
  • the user operation reduces the configuration requirements of the user terminal hardware and software, provides a good online environment for the user, and ensures the user's Internet security.
  • FIG. 1 is a schematic diagram of a server-side display page and a client browser display page according to an embodiment of the present invention
  • FIG. 2 is a flowchart of a method for implementing a client browser according to an embodiment of the present invention
  • FIG. 3 is a first schematic diagram of processing of a client browser interacting with a server according to an embodiment of the present invention
  • FIG. 4 is a second schematic diagram of processing of a client browser interacting with a server according to an embodiment of the present invention
  • FIG. FIG. 6 is a schematic diagram of a server-side split page according to an embodiment of the present invention
  • FIG. 6 is a schematic diagram of data compression and decompression when uploading and downloading according to an embodiment of the present invention
  • FIG. 7 is a schematic diagram of a content block displayed by a client browser according to an embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of a client browser according to an embodiment of the present invention.
  • FIG. 9 is a schematic diagram of a server-side remote control client browser according to an embodiment of the present invention.
  • Figure 11 schematically shows a block diagram of a server for performing the method according to the invention
  • Figure 12 schematically shows a storage unit for holding or carrying program code implementing the method according to the invention
  • Fig. 13 schematically shows a block diagram of a server for carrying out the method according to the invention
  • Fig. 14 schematically shows a storage unit for holding or carrying program code implementing the method according to the invention.
  • FIG. 10 is a schematic diagram of a server-side remote control client browser according to an embodiment of the present invention.
  • FIG. 10 is a schematic diagram of a server-side remote control client browser according to an embodiment of the present invention.
  • the client is equivalent to a remote desktop control
  • the server is controlled by remote desktop technology (preferably, it can be a cloud The actual browser program or process on the server).
  • the server starts different browsers according to the specific conditions of the client (for example, the resolution, and the user agent (User Agent, UA), the UA includes the user's mobile phone information, such as the mobile phone model, etc.), and the user operates the client.
  • the corresponding browser on the remote control server performs various operations, including inputting a URL, clicking a link, scrolling, etc., and the server-side browser performs corresponding processing after receiving the user's operation, and the processing result is specifically compressed.
  • the format is returned to the client.
  • the user may read the webpage by scrolling up and down on a page, or back to a page that has already been read. In this case, if the cache technology is not used, the display data will be transmitted again.
  • the embodiment of the present invention adopts client-side caching technology to alleviate and solve this problem.
  • the number of people on the website and the Internet is increasing.
  • the Internet brings convenience to people, some websites can harm the rights of users in various ways to obtain personal benefits.
  • the technical solution of the embodiment of the present invention is to improve the security of the browser.
  • the server will perform different processing on different threat user security issues according to the security policy, so that the user does not need to know any relevant information. Under the premise of knowledge, you can access the Internet safely.
  • FIG. 2a is a flowchart of a method for implementing a client browser according to an embodiment of the present invention. As shown in FIG. 2a, a client according to an embodiment of the present invention is shown.
  • the browser implementation method includes the following processing:
  • Step 201a receiving a triggering instruction for starting the client browser, sending a startup request to the server, and starting the client browser after receiving the startup success response returned by the server;
  • the client browser can be a mobile client browser or a PC client.
  • Browser the above server side can be a cloud server.
  • step 201a after receiving the triggering command to start the client browser, the client browser needs to send a startup request to the server.
  • the server receives the startup request sent by the client browser, and starts a The client browser corresponding to the client browser sends a startup success response to the client browser; after receiving the startup success response returned by the server, the client browser starts the client browser and displays the initial page.
  • the activation request may further carry a user identifier of the client browser.
  • the server side may store user data (including: browser favorites data, and/or browsing history data) in the database according to the above user identifier, and update corresponding user data in the database according to user operations sent by the client browser.
  • Step 202a Receive information input by the user to the client browser, send information and input focus position information to the server, and display and/or execute operation result information returned by the server.
  • the client browser needs to receive information input by the user to the client browser, wherein the information input by the user to the client browser includes: text information input by the user to the client browser, and user browsing to the client.
  • the information input by the user to the client browser includes: text information input by the user to the client browser, and user browsing to the client.
  • FIG. 2b is a flowchart of a method for implementing a server-side browser according to an embodiment of the present invention. As shown in FIG. 2b, a server-side browser implementation method according to an embodiment of the present invention includes the following processing:
  • Step 201b receiving a startup request sent by the client browser, starting a server browser corresponding to the client browser on the server side, and sending a startup success response to the client browser;
  • server end of the embodiment of the present invention may be a cloud server.
  • step 201b after receiving the request of the client to start the browser, the server needs to start a real browser (the client browser is just a client similar to the remote control).
  • the browsing The client will be bound to the client and will not be accessed by other clients, protecting the user's private data.
  • the server obtains the information input by the client browser to the client browser and inputs the focus position information, performs corresponding processing on the server browser according to the information and the input focus position information, and sends the operation result information to the client to browse.
  • the client browser then displays and/or executes the results of the operation returned by the server.
  • FIG. 3 is a first schematic diagram of processing of a client browser interacting with a server according to an embodiment of the present invention
  • FIG. 4 As shown in FIG. 3 and FIG. 4, the client browser interacts with the server according to an embodiment of the present invention, and the following operations are performed as follows:
  • the client browser obtains the text information input by the user to the client browser (for example, the user accesses the corresponding webpage by inputting the URL, logs in to the website by inputting the username and password, or inputs certain information to perform page search, etc.,
  • the user completes by inputting, and sends the text information and the input focus position information of the input text information to the server side (that is, when the user inputs the character, the client transmits the input information to the position of the current input focus together)
  • the server side receives the response information fed back by the server, and the response information carries the information of the success or failure of the input, and the client browser carried when the input text information succeeds.
  • the display content information that needs to be updated; the client browser prompts the user to input the information; or, according to the display content information that needs to be updated in the response message.
  • the client browser obtains the offset of the user performing the rhinoceros operation on the client browser, and sends the offset to the server; after processing on the server side, the client browser receives the server end.
  • the response information of the feedback wherein the response information carries the display content information that the client browser needs to update after calculating the page offset according to the offset; the client browser updates according to the needs carried in the response message. Display content information for display.
  • the server obtains the offset of the user's browser to send the client browser to the rhinoceros operation; and calculates the page offset according to the offset of the rhinoceros operation, and determines the client browser according to the page offset.
  • the updated display content information is required, and the response information is fed back to the client browser, where the response information carries the display content information that the client browser needs to update.
  • browser width device_width 480
  • a browser event refers to an interaction event between the client and the server browser, including creating a new tab, closing a tab, and switching tabs.
  • the management of the favorites, the undo operation, etc., these events are completed by the user clicking the button or menu displayed by the browser on the client, and the client browser uploads the clicked location information to the server, and the server-side browser completes the subsequent processing.
  • Web page event refers to the interaction event between the client and the web page through the server browser.
  • the client browser When the user browses the webpage, he or she clicks on the different links, pictures, buttons, and the like, and the client browser transmits the information to the server according to the location and time of the user's click, and performs corresponding processing according to the response of the server.
  • the client browser needs to obtain input focus position information of the browser operation or webpage event operation performed by the user on the client browser, and send the input focus position information to the server; after processing on the server side, the client The browser receives the response information fed back by the server, where the response information carries information that the server succeeds or fails to process according to the browser event operation or the webpage event operation, and the client that is carried when the browser event operation or the webpage event operation succeeds.
  • the browser displays the content information; the client browser prompts the user to fail the browser event, or displays the content according to the display content information carried in the response message.
  • FIG. 8 is a schematic diagram of determining whether an event type is a browser event or a webpage event according to an embodiment of the present invention.
  • the server calculates a corresponding server browsing according to the submitted location information.
  • the position of the device to determine the type of the event If the input focus position is on the browser frame, the event type is determined to be a browser event; if the input focus position is within the web page range, the event type is determined to be a web page event.
  • the server directly performs a corresponding operation on the server-side browser according to the browser event; that is, the server performs corresponding processing according to the browser event, and does not need to submit an event to the webpage, in the event
  • the response corresponding to the client is returned after the processing is completed. For example, if a new tab is created, the server browser determines whether the tab reaches the upper limit before creating a new one. If it is reached, it returns the client without a successful response. Otherwise, a new tab is displayed and the page is displayed, and the result is returned to the client.
  • the server performs a webpage event operation on the server side browser according to the webpage event of the user, interacts with the responding web server, and transparently transmits the input information to the corresponding web server.
  • the server-side browser simulates a real click event, and different click objects (controls) trigger different responses. If it is a link, the corresponding page is opened; if it is a button, the form submission operation is performed. After the website returns a response, the server will process the response and return it to the client. End, so that it can display the corresponding content.
  • the user will download or upload a file by browsing the webpage.
  • the client browser obtains the data that the user needs to upload to the webpage, uploads the data to the server, and uploads it to the corresponding web server through the server; when downloading the data, the client browser downloads from the server.
  • the client browser interacts with the server through FTP or a proprietary protocol. If it is a download operation, the client browser downloads the file to the local after the file is downloaded to the server; if it is an upload operation, the client browser first uploads the file to the server, and finally the server end uploads it to the website.
  • FIG. 5 is a schematic diagram of data compression and decompression during uploading and downloading according to an embodiment of the present invention.
  • the client browser may choose to use the real-time transmission method to send the input focus position information of the information and the input information to the server; the network environment value is less than the preset network environment excellent threshold.
  • the client browser can choose to use the timed upload and/or the quantitative upload, the information and the input focus position information of the input information are sent to the server.
  • the real-time transmission mode when the user inputs the information, when the network environment is good, the real-time transmission mode can be adopted, and one input is input for each character, and the update operation is triggered every time; when the network environment is bad, the timed upload or the quantitative upload is adopted. There is a timeout period when uploading regularly, and uploading is performed after a certain time, and the quantitative upload is to upload once when inputting the specified number of characters. These two uploads can be used together.
  • the user closes the client browser after browsing.
  • the user closes the client, it sends a close request to the server.
  • the client browser completes the corresponding operation.
  • the client browser can ensure that the user's private data is not intercepted or recognized by the third party through the method of data encryption transmission, specifically, the user passes the client.
  • the client browser uses a certain encryption algorithm to make a third party User information cannot be cracked even when user data is intercepted.
  • the client browser may also adopt a caching technology, and the client browser cache is to solve the problem that the user browses the page or part of the browsed page.
  • the server divides the page into small blocks, marks the divided small blocks with keys, and calculates the HASH value hash_value, key and hash_value of the block data and the data of the block. And send it to the client.
  • the client caches the data.
  • the client When browsing the block page next time, the client only needs to transmit the key and hash_value to the server to determine whether the block data is still valid, that is, the block page and the current server end.
  • the key value consists of a URL, a horizontal start position, and a vertical start position.
  • the display content information includes: one or more pieces of display data after the display content is divided, a key value corresponding to each block display data, and a corresponding to each block display data. Hash value.
  • the client browser caches the display data of each block constituting the display content, the corresponding key value, and the corresponding hash value locally; the next time the display content needs to be displayed, the client browser will compose the blocks of the display content.
  • the key value and the hash value corresponding to the display data are sent to the server; the client browser confirms whether the display content is updated according to the information returned by the server, and if there is no update, directly displays according to the displayed content information, if there is an update Obtaining the latest display data returned by the server, and corresponding key values and hash values, updating the display content information according to the latest display data, and corresponding key values and hashes, and displaying according to the updated display content information. .
  • FIG. 6 is a schematic diagram of a server-side split page according to an embodiment of the present invention
  • FIG. 7 is a schematic diagram of a content block displayed by a client browser according to an embodiment of the present invention.
  • FIG. 6 shows a server.
  • the page segmentation process performed on the webpage is performed, and the key and hash_value values of each block are calculated according to the information such as the url and the offset position; and
  • FIG. 7 shows the block www.test that the client browser currently browses the page covered by the page.
  • the client browser caches the data of these blocks in units of blocks.
  • the server determines whether it is necessary to retransmit the data of some blocks.
  • FIG. 9a is a schematic structural diagram of a client browser according to an embodiment of the present invention. As shown in FIG. 9a, a client according to an embodiment of the present invention is shown.
  • the browser includes: a startup module 90a and a processing module 92a.
  • a startup module 90a and a processing module 92a.
  • the startup module 90a is adapted to receive a trigger instruction for starting the client browser, send a startup request to the server, and start the client browser after receiving the startup success response returned by the server;
  • the client browser may be a mobile client browser or a PC client browser
  • the server end may be a cloud server.
  • the startup module 90a After the startup module 90a receives the triggering command to start the client browser, the startup module 90a needs to send a startup request to the server. At this time, the server receives the startup request sent by the client browser, and starts a browsing with the client on the server. Corresponding server-side browser, and sending a startup success response to the startup module 90a; after receiving the startup success response returned by the server, the startup module 90a starts the client browser and displays the initial page.
  • the activation request may further carry a user identifier of the client browser.
  • the server side may store user data (including: browser favorites data, and/or browsing history data) in the database according to the above user identifier, and update corresponding user data in the database according to user operations sent by the client browser.
  • the processing module 92a is adapted to receive information input by the user to the client browser, send information and input focus position information to the server, and display and/or execute operation result information returned by the server.
  • the processing module 92a needs to receive the information input by the user to the client browser.
  • the information input by the user to the client browser includes: text information input by the user to the client browser, and a user's bias to scroll the client browser.
  • the server-side acquisition processing module 92a sends the information input by the user to the client browser and the input focus position information, performs corresponding processing on the server-side browser according to the information and the input focus position information, and sends the operation result information to the processing module 82.
  • Processing module 82 displays and/or performs operational result information returned by the server.
  • FIG. 9b is a schematic structural diagram of a server according to an embodiment of the present invention. As shown in FIG. 9b, the server according to the embodiment of the present invention includes: a starting unit 90b and a processing unit 92b. The following describes the modules in the embodiment of the present invention in detail. .
  • the starting unit 90b is adapted to receive a startup request sent by the client browser through the client interaction interface, and start a a server-side browser corresponding to the client browser, and sending a startup success response to the client browser through the client interaction interface;
  • the launch unit 90b Upon receiving the client's request to launch the browser, the launch unit 90b needs to launch a real browser (the client browser is just a client similar to the remote control). In the embodiment of the present invention, the browser will be tied. The client will not be accessed by other clients and will protect the user's private data.
  • the startup unit 90b starts a server-side browser corresponding to the client browser on the server side
  • a server-side browser process corresponding to the client browser is started on the server side, and is in the cache.
  • the user identifier of the client browser may also be carried in the startup request.
  • the user data storage module on the server side may store the user data (including: browser favorite data, and/or browsing history data) in the database according to the above user identifier, and the user data update module of the server side performs the user operation according to the client browser. Update the corresponding user data in the database.
  • the startup unit 90b After receiving the user login request on the client side and successfully logging in, the startup unit 90b obtains the corresponding user data from the database according to the user identifier, and loads the user data in the corresponding server browser page in the cache.
  • the user data storage module maintains each user's data in a single table and encrypts it with the password of the user's login.
  • the startup unit 90b takes the user's ID (or other information) as the key, obtains the corresponding user data, and loads it onto the browser currently launched by the server for the user.
  • the user can perform some operations to manage the data, and the user data update module performs corresponding processing according to the operation request of the user, and finally updates to the data table of the corresponding user of the server, and completes the operation request of the user.
  • the processing unit 92b is configured to acquire information input by the client browser and input focus position information by the client browser through the client interaction interface, and perform corresponding processing on the server browser according to the information and the input focus position information, and Send the operation result information to the client browser.
  • the processing unit 92b needs to obtain the information input by the client browser to the client browser, wherein the information input by the user to the client browser includes: text information input by the user to the client browser, and user browsing to the client.
  • the processing unit 92b acquires information and input focus input by the client browser to the client browser.
  • the location information is processed according to the information and the input focus position information to the server-side browser, and the operation result information is sent to the client browser. Subsequently, the client browser displays and/or performs operational result information returned by the server.
  • the technical solution of the embodiment of the present invention can ensure a good rendering effect in the case of fast response speed and low traffic consumption, and supports all user operations at the same time, providing a good online environment for the user. Keep users safe online. It should be noted that the embodiments of the present invention and the features of the embodiments may be arbitrarily combined with each other without conflict.
  • the various component embodiments of the present invention may be implemented in hardware, or in a software module running on one or more processors, or in a combination thereof.
  • a microprocessor or digital signal processor DSP
  • the invention can also be implemented as a device or device program (e.g., a computer program and a computer program product) for performing some or all of the methods described herein.
  • a program implementing the invention may be stored on a computer readable medium or may be in the form of one or more signals.
  • signals may be downloaded from an Internet website, provided on a carrier signal, or provided in any other form.
  • Figure 6 illustrates a server, such as an application server, that can implement the network search method in accordance with the present invention.
  • the server conventionally includes a processor 610 and a computer program product or computer readable medium in the form of a memory 620.
  • Memory 620 can be an electronic memory such as flash memory, EEPROM (Electrically Erasable Programmable Read Only Memory), EPROM, hard disk or ROM.
  • Memory 620 has a memory space 630 for executing program code 631 of any of the above methods.
  • storage space 630 for program code can include various program code 631 for implementing various steps in the above methods, respectively.
  • the program code can be read from or written to one or more computer program products.
  • These computer program products include program code carriers such as a hard disk, a compact disk (CD), a memory card, or a floppy disk.
  • Such computer program products are typically portable or fixed storage units as described with reference to Figure 7.
  • the storage unit may have a storage section, a storage space, and the like arranged similarly to the storage 620 in the server of Fig. 6.
  • the program code can be compressed, for example, in an appropriate form.
  • the storage unit includes computer readable code 63 ⁇ , i.e., code readable by a processor, such as 610, that when executed by the server causes the server to perform various steps in the methods described above.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Disclosed are a client side browser, server side browser and realization method thereof, the method comprising: receiving trigger instructions for initiating the client side browser, sending initiating requests to the server side, and initiating the client side browser after receiving successful initiating responses returned from the server side; receiving the information inputted to the client side browser by a user, sending the information and input focus position information to the server side, displaying and/or implementing operation result information returned from the server side. With the help of the technical solutions of the present invention, data processing load on the client side can be effectively reduced, a great render effect of the client side browser can be guaranteed under conditions of a rapid response speed and low flow consumption, all user operations can be supported simultaneously and configuration requirements for software and hardware of user terminals can be reduced, a great internet access environment can be provided to users and internet access security of users can be guaranteed.

Description

客户端浏览器、 服务器端浏览器及其实现方法 技术领域  Client browser, server browser and implementation method thereof
本发明涉及通讯领域, 特别是涉及一种客户端浏览器、 服务器端浏览器及其对应实 现方法。 背景技术  The present invention relates to the field of communications, and in particular, to a client browser, a server browser, and a corresponding implementation method thereof. Background technique
在现有技术中, 移动浏览器主要分成两种: 客户端内核浏览器和云端内核浏览器。 其中, 客户端内核浏览器是指客户端嵌入浏览器的内核, 直接向网站发送请求, 不通过 任何代理服务器。客户端内核浏览器为浏览器 /服务器结构( Browser/Server, 筒称为 B/S ) 结构, 客户端直接通过超文本传输协议(HyperText Transfer Protocol, 筒称为 HTTP )协 议向网站发起请求, 并在接收到响应后先进行 HTTP协议的解析, 然后再进行超文本标 记语言( Hypertext Markup Language , 筒称为 HTML )的解析及子资源下载, 生成 Dom Tree并渲染, 最终显示在移动终端上。 由于客户端与网页服务器之间交互采用 HTTP协 议, 会导致交互数据量大、 耗流量、 传输时间长、 以及响应时间慢等问题。  In the prior art, mobile browsers are mainly divided into two types: a client kernel browser and a cloud kernel browser. The client kernel browser refers to the kernel embedded in the browser by the client, and sends the request directly to the website without going through any proxy server. The client kernel browser is a browser/server structure (B/S), and the client directly requests the website through the HyperText Transfer Protocol (HTTP) protocol, and After receiving the response, the HTTP protocol is parsed first, then the hypertext markup language (Hypertext Markup Language) is parsed and the sub-resources are downloaded, the Dom Tree is generated and rendered, and finally displayed on the mobile terminal. Since the HTTP protocol is used for interaction between the client and the web server, the amount of interaction data is large, the traffic is consumed, the transmission time is long, and the response time is slow.
云端内核浏览器为客户端 /代理服务器( Client/Server, 筒称为 C/S )架构, 是客户端 向云端服务器发送请求, 由云端服务器访问网页, 在获取页面后在服务器端进行解析和 渲染计算, 然后通过某种协议将渲染的结果发送给客户端, 客户端根据结果显示在终端 上, 所有客户端的交互操作都是在服务器的协助下完成的。 具体包括两种处理方式: 处理方式一:  The cloud kernel browser is a client/proxy server (Client/Server, called C/S) architecture. The client sends a request to the cloud server, and the web server accesses the web page. After the page is acquired, the server parses and renders the server. The calculation then sends the rendered result to the client through a protocol. The client displays the result on the terminal according to the result, and all client interactions are completed with the assistance of the server. Specifically, it includes two processing methods: Processing method 1:
在 C/S架构下, 客户端向网页发送页面请求, 在获取子资源时向代理服务器发送请 求, 由代理服务器将对子资源进行一些处理。 这种模式下的代理服务器仅对静态页面和 图像、 CSS和 JS等子资源进行緩存和压缩处理, 由具备完整 WAP/WWW解析能力的手 机客户端完成排版和屏幕绘制。 该种处理方式会导致了客户端计算量大以及耗电量大的 问题。  In the C/S architecture, the client sends a page request to the web page, and when the sub-resource is obtained, the request is sent to the proxy server, and the proxy server performs some processing on the sub-resource. In this mode, the proxy server only caches and compresses static pages and sub-resources such as images, CSS, and JS, and performs typography and screen rendering by a mobile client with full WAP/WWW resolution. This type of processing leads to problems with large amount of computation and large power consumption on the client side.
处理方式二:  Processing method 2:
在 C/S架构下, 客户端向代理服务器发起请求, 由代理服务器向网页索取资源, 然 后在代理服务器上进行解析 DOM Tree, 并根据客户端上传的字体信息进行排版(也可以 由服务器默认某字体进行排版) , 并对子资源进行相应的处理, 包括压缩和緩存, 最终 将排版好的各个控件以位置, 宽高加内容的方式发送给客户端, 由客户端根据这些信息 将内容最终显示在客户端浏览器上。该种处理方式由于各种终端上的客户端要求的字体、 排版各有不同, 差异性大, 代理服务器处理起来繁瑣, 数据处理负担高, 因此会导致客 户端渲染效果差 (例如, 原始页面的效果丢失, 部分动态脚本效果支持差等) 、 交互操 作支持较差、 以及安全性较低等问题。 发明内容 In the C/S architecture, the client initiates a request to the proxy server, and the proxy server requests the resource from the webpage, and then parses the DOM Tree on the proxy server, and performs typesetting according to the font information uploaded by the client (it may also be specified by the server by default) The font is typeset), and the sub-resources are processed accordingly, including compression and caching. Finally, each type of control is sent to the client in a position, width, height, and content, and the client finally displays the content according to the information. On the client browser. This type of processing is due to the fonts required by the client on various terminals. The typesetting is different, the difference is large, the proxy server is cumbersome to process, and the data processing burden is high, so the rendering effect of the client is poor (for example, the effect of the original page is lost, some dynamic script effects are poorly supported, etc.), and the interactive operation support is relatively poor. Poor, and low security issues. Summary of the invention
鉴于上述问题, 提出了本发明以便提供一种克服上述问题或者至少部分地解决上述 问题的客户端浏览器实现方法及客户端浏览器。  In view of the above problems, the present invention has been made in order to provide a client browser implementation method and a client browser that overcome the above problems or at least partially solve the above problems.
根据本发明的一个方面, 提供了一种客户端浏览器实现方法, 包括: 接收启动客户 端浏览器的触发指令, 向服务器端发送启动请求, 并在接收到服务器端返回的启动成功 响应后, 启动客户端浏览器; 接收用户对客户端浏览器输入的信息, 将信息和输入焦点 位置信息发送到服务器端, 显示和 /或执行服务器端返回的操作结果信息。  According to an aspect of the present invention, a client browser implementation method is provided, including: receiving a trigger instruction for starting a client browser, sending a startup request to a server, and receiving a startup success response returned by the server The client browser is started; the information input by the user to the client browser is received, the information and the input focus position information are sent to the server, and the operation result information returned by the server is displayed and/or executed.
据本发明的另一个方面, 提供了一种客户端浏览器, 包括: 启动模块, 适于接收启 动客户端浏览器的触发指令, 向服务器端发送启动请求, 并在接收到服务器端返回的启 动成功响应后, 启动客户端浏览器; 处理模块, 适于接收用户对客户端浏览器输入的信 息, 将信息和输入焦点位置信息发送到服务器端, 显示和 /或执行服务器端返回的操作结 果信息。  According to another aspect of the present invention, a client browser is provided, including: a startup module, configured to receive a trigger instruction for starting a client browser, send a startup request to a server, and receive a startup returned by the server After successful response, the client browser is started; the processing module is adapted to receive the information input by the user to the client browser, send the information and the input focus position information to the server, and display and/or execute the operation result information returned by the server. .
据本发明的又一个方面, 提供了一种服务器端浏览器实现方法, 包括: 接收客户端 浏览器发送的启动请求,在服务器端启动一个与客户端浏览器相对应的服务器端浏览器, 并向客户端浏览器发送启动成功响应; 获取客户端浏览器发送的用户对客户端浏览器输 入的信息和输入焦点位置信息, 根据信息和输入焦点位置信息对服务器端浏览器执行相 应处理, 并将操作结果信息发送到客户端浏览器。  According to still another aspect of the present invention, a server-side browser implementation method is provided, including: receiving a startup request sent by a client browser, and starting a server-side browser corresponding to the client browser on the server side, and Sending a startup success response to the client browser; obtaining information input by the client browser to the client browser and inputting focus position information, performing corresponding processing on the server browser according to the information and the input focus position information, and The operation result information is sent to the client browser.
据本发明的再一个方面, 提供了一种服务器, 包括: 启动单元, 适于通过客户端交 互接口接收客户端浏览器发送的启动请求, 启动一个与客户端浏览器相对应的服务器端 浏览器, 并通过客户端交互接口向客户端浏览器发送启动成功响应; 处理单元, 适于通 过客户端交互接口获取客户端浏览器发送的用户对客户端浏览器输入的信息和输入焦点 位置信息, 根据信息和输入焦点位置信息对服务器端浏览器执行相应处理, 并将操作结 果信息发送到客户端浏览器。  According to still another aspect of the present invention, a server is provided, comprising: a starting unit, configured to receive a startup request sent by a client browser through a client interaction interface, and start a server browser corresponding to the client browser And sending a startup success response to the client browser through the client interaction interface; the processing unit is adapted to obtain, by using the client interaction interface, information input by the client browser and input focus position information by the client browser, according to The information and input focus position information are processed correspondingly to the server-side browser, and the operation result information is sent to the client browser.
本发明有益效果如下:  The beneficial effects of the present invention are as follows:
借助于本发明实施例的技术方案, 在客户端浏览器请求服务器端启动相应的浏览器 后, 将用户操作发送到服务器端, 随后接收服务器端的浏览器根据用户操作进行相应处 理的处理结果, 并根据该处理结果进行显示, 本发明能够有效降低客户端侧的数据处理 负担, 在响应速度快, 流量消耗少的情况下, 还能保证很好的渲染效果, 同时支持所有 的用户操作, 减轻了对用户终端软硬件的配置要求, 给用户提供了很好的上网环境, 保 证用户的上网安全。 With the technical solution of the embodiment of the present invention, after the client browser requests the server to start the corresponding browser, the user operation is sent to the server, and then the browser of the server is received according to the user operation. The processing result is displayed according to the processing result, and the invention can effectively reduce the data processing burden on the client side, and can ensure good rendering effect in the case of fast response speed and low traffic consumption, and supports all at the same time. The user operation reduces the configuration requirements of the user terminal hardware and software, provides a good online environment for the user, and ensures the user's Internet security.
上述说明仅是本发明技术方案的概述, 为了能够更清楚了解本发明的技术手段, 而 可依照说明书的内容予以实施, 并且为了让本发明的上述和其它目的、 特征和优点能够 更明显易懂, 以下特举本发明的具体实施方式。 附图说明  The above description is only an overview of the technical solutions of the present invention, and the technical means of the present invention can be more clearly understood, and can be implemented in accordance with the contents of the specification, and the above and other objects, features and advantages of the present invention can be more clearly understood. Specific embodiments of the invention are set forth below. DRAWINGS
通过阅读下文优选实施方式的详细描述, 各种其他的优点和益处对于本领域普通技 术人员将变得清楚明了。 附图仅用于示出优选实施方式的目的, 而并不认为是对本发明 的限制。 而且在整个附图中, 用相同的参考符号表示相同的部件。 在附图中:  Various other advantages and benefits will become apparent to those of ordinary skill in the art in the <RTIgt; The drawings are only for the purpose of illustrating the preferred embodiments and are not intended to be limiting. Throughout the drawings, the same reference numerals are used to refer to the same parts. In the drawing:
图 1是本发明一个实施例的服务器端显示页面和客户端浏览器显示页面的示意图; 图 2是本发明一个实施例的客户端浏览器实现方法的流程图;  1 is a schematic diagram of a server-side display page and a client browser display page according to an embodiment of the present invention; FIG. 2 is a flowchart of a method for implementing a client browser according to an embodiment of the present invention;
图 3是本发明一个实施例的客户端浏览器与服务器端进行交互的处理示意图一; 图 4是本发明一个实施例的客户端浏览器与服务器端进行交互的处理示意图二; 图 5是本发明一个实施例的上传下载时进行数据压缩和解压缩的示意图; 图 6是本发明一个实施例的服务器端分割页面的示意图;  FIG. 3 is a first schematic diagram of processing of a client browser interacting with a server according to an embodiment of the present invention; FIG. 4 is a second schematic diagram of processing of a client browser interacting with a server according to an embodiment of the present invention; FIG. FIG. 6 is a schematic diagram of a server-side split page according to an embodiment of the present invention; FIG. 6 is a schematic diagram of data compression and decompression when uploading and downloading according to an embodiment of the present invention; FIG.
图 7是本发明一个实施例的客户端浏览器显示的内容块的示意图;  7 is a schematic diagram of a content block displayed by a client browser according to an embodiment of the present invention;
图 8是本发明一个实施例的客户端浏览器的结构示意图;  FIG. 8 is a schematic structural diagram of a client browser according to an embodiment of the present invention; FIG.
图 9是本发明一个实施例的服务器端远程控制客户端浏览器的示意图;  9 is a schematic diagram of a server-side remote control client browser according to an embodiment of the present invention;
图 11示意性地示出了用于执行根据本发明的方法的服务器的框图; 以及 图 12示意性地示出了用于保持或者携带实现根据本发明的方法的程序代码的存储单 元;  Figure 11 schematically shows a block diagram of a server for performing the method according to the invention; and Figure 12 schematically shows a storage unit for holding or carrying program code implementing the method according to the invention;
图 13示意性地示出了用于执行根据本发明的方法的服务器的框图; 以及 图 14示意性地示出了用于保持或者携带实现根据本发明的方法的程序代码的存储单 元。 具体实施方式  Fig. 13 schematically shows a block diagram of a server for carrying out the method according to the invention; and Fig. 14 schematically shows a storage unit for holding or carrying program code implementing the method according to the invention. detailed description
下面将参照附图更详细地描述本公开的示例性实施例。 虽然附图中显示了本公开的 示例性实施例, 然而应当理解, 可以以各种形式实现本公开而不应被这里阐述的实施例 所限制。 相反, 提供这些实施例是为了能够更透彻地理解本公开, 并且能够将本公开的 范围完整的传达给本领域的技术人员。 Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although the figures show the disclosure of the present disclosure The present invention, however, should be understood that the present disclosure may be embodied in various forms and not limited by the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be more fully understood, and the scope of the disclosure may be fully disclosed to those skilled in the art.
为了解决现有技术中云端内核浏览器存在的客户端渲染效果差、 以及交互操作支持 较差的问题, 本发明提供了一种客户端浏览器实现方法及客户端浏览器, 图 1是本发明 一个实施例的服务器端显示页面和客户端浏览器显示页面的示意图, 图 10是本发明一个 实施例的服务器端远程控制客户端浏览器的示意图, 如图 1、 10所示, 本发明实施例采 用远程桌面技术来实现 C/S架构下的浏览器(包括: 移动浏览器和 PC浏览器等), 客户 端相当于一个远程桌面控件, 通过远程桌面技术来控制服务器(优选地, 可以是云端服 务器)上的实际浏览器程序或进程。 服务器根据客户端的具体情况(例如, 分辨率、 以 及用户代理(User Agent , 筒称为 UA ) , UA中包括用户的手机信息, 例如手机型号 等) 启动不同的浏览器, 用户通过操作客户端来远程控制服务器上对应的浏览器, 进行 各种操作, 包括输入 URL, 点击链接、 滚屏等, 而服务器端的浏览器在接收到用户的操 作后进行相应的处理, 并将处理的结果以特定的压缩格式返回给客户端。 此外, 用户在 浏览页面时, 可能会在一个页面通过上下滚犀来阅读网页, 或者后退到某个已经阅读过 的页面, 这时, 如果不使用緩存技术, 就会再次进行显示数据的传输, 无论是在响应速 度还是在流量消耗上都会有很大影响, 因此, 本发明实施例采用了客户端緩存技术来緩 解和解决这个问题。 目前的网站和上网的人群日益增长, 在互联网给人们带来方便的同 时, 也有些网站通过各种方式损害用户的权益, 从而获取个人利益。 本发明实施例的技 术方案为了提高了浏览器的安全性, 在用户访问不安全网址时, 服务器将根据安全策略, 对不同的威胁用户安全的问题做不同的处理, 使用户在无需了解任何相关知识的前提下 能够安全上网。  In order to solve the problem that the client rendering effect of the cloud kernel browser in the prior art is poor, and the interaction support is poor, the present invention provides a client browser implementation method and a client browser, and FIG. 1 is the present invention. FIG. 10 is a schematic diagram of a server-side remote control client browser according to an embodiment of the present invention. FIG. 10 is a schematic diagram of a server-side remote control client browser according to an embodiment of the present invention. Using remote desktop technology to implement browsers under the C/S architecture (including: mobile browsers and PC browsers, etc.), the client is equivalent to a remote desktop control, and the server is controlled by remote desktop technology (preferably, it can be a cloud The actual browser program or process on the server). The server starts different browsers according to the specific conditions of the client (for example, the resolution, and the user agent (User Agent, UA), the UA includes the user's mobile phone information, such as the mobile phone model, etc.), and the user operates the client. The corresponding browser on the remote control server performs various operations, including inputting a URL, clicking a link, scrolling, etc., and the server-side browser performs corresponding processing after receiving the user's operation, and the processing result is specifically compressed. The format is returned to the client. In addition, when browsing the page, the user may read the webpage by scrolling up and down on a page, or back to a page that has already been read. In this case, if the cache technology is not used, the display data will be transmitted again. Whether it is in response speed or in traffic consumption, the embodiment of the present invention adopts client-side caching technology to alleviate and solve this problem. At present, the number of people on the website and the Internet is increasing. When the Internet brings convenience to people, some websites can harm the rights of users in various ways to obtain personal benefits. The technical solution of the embodiment of the present invention is to improve the security of the browser. When the user accesses the unsecure web address, the server will perform different processing on different threat user security issues according to the security policy, so that the user does not need to know any relevant information. Under the premise of knowledge, you can access the Internet safely.
以下结合附图以及实施例, 对本发明进行进一步详细说明。 应当理解, 此处所描述 的具体实施例仅仅用以解释本发明, 并不限定本发明。  The present invention will be further described in detail below in conjunction with the drawings and embodiments. It is understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
根据本发明的实施例, 提供了一种客户端浏览器实现方法, 图 2a是本发明一个实施 例的客户端浏览器实现方法的流程图, 如图 2a所示, 根据本发明实施例的客户端浏览器 实现方法包括如下处理:  According to an embodiment of the present invention, a method for implementing a client browser is provided. FIG. 2a is a flowchart of a method for implementing a client browser according to an embodiment of the present invention. As shown in FIG. 2a, a client according to an embodiment of the present invention is shown. The browser implementation method includes the following processing:
步骤 201a, 接收启动客户端浏览器的触发指令, 向服务器端发送启动请求, 并在接 收到服务器端返回的启动成功响应后, 启动客户端浏览器;  Step 201a, receiving a triggering instruction for starting the client browser, sending a startup request to the server, and starting the client browser after receiving the startup success response returned by the server;
在本发明实施例中,客户端浏览器可以为移动客户端浏览器,也可以为 PC客户端浏 览器, 上述服务器端可以为云端服务器。 In the embodiment of the present invention, the client browser can be a mobile client browser or a PC client. Browser, the above server side can be a cloud server.
在步骤 201a中, 在接收启动客户端浏览器的触发指令后, 客户端浏览器需要向服务 器端发送启动请求, 此时, 服务器端接收客户端浏览器发送的启动请求, 在服务器端启 动一个与客户端浏览器相对应的服务器端浏览器,并向客户端浏览器发送启动成功响应; 客户端浏览器在接收到服务器端返回的启动成功响应后, 启动客户端浏览器并显示初始 页面。  In step 201a, after receiving the triggering command to start the client browser, the client browser needs to send a startup request to the server. At this time, the server receives the startup request sent by the client browser, and starts a The client browser corresponding to the client browser sends a startup success response to the client browser; after receiving the startup success response returned by the server, the client browser starts the client browser and displays the initial page.
优选地, 在本发明实施例中, 启动请求中还可以携带有客户端浏览器的用户标识。 服务器端可以根据上述用户标识将用户数据(包括: 浏览器收藏夹数据、 和 /或浏览历史 数据 )存储在数据库中, 并根据客户端浏览器发送的用户操作更新数据库中相应的用户 数据。  Preferably, in the embodiment of the present invention, the activation request may further carry a user identifier of the client browser. The server side may store user data (including: browser favorites data, and/or browsing history data) in the database according to the above user identifier, and update corresponding user data in the database according to user operations sent by the client browser.
步骤 202a, 接收用户对客户端浏览器输入的信息, 将信息和输入焦点位置信息发送 到服务器端, 显示和 /或执行服务器端返回的操作结果信息。  Step 202a: Receive information input by the user to the client browser, send information and input focus position information to the server, and display and/or execute operation result information returned by the server.
在步骤 202a中, 客户端浏览器需要接收用户对客户端浏览器输入的信息, 其中, 用 户对客户端浏览器输入的信息包括: 用户对客户端浏览器输入的文字信息、 用户对客户 端浏览器进行滚犀操作的偏移量、 或者用户对客户端浏览器进行浏览器事件操作或网页 事件操作的输入焦点位置信息等。  In step 202a, the client browser needs to receive information input by the user to the client browser, wherein the information input by the user to the client browser includes: text information input by the user to the client browser, and user browsing to the client. The offset of the rhinoceros operation, or the input focus position information of the browser action or webpage event operation performed by the user on the client browser.
相应的图 2b是本发明一个实施例的服务器端浏览器实现方法的流程图, 如图 2b所 示, 根据本发明实施例的服务器端浏览器实现方法包括如下处理:  FIG. 2b is a flowchart of a method for implementing a server-side browser according to an embodiment of the present invention. As shown in FIG. 2b, a server-side browser implementation method according to an embodiment of the present invention includes the following processing:
步骤 201b, 接收客户端浏览器发送的启动请求, 在服务器端启动一个与客户端浏览 器相对应的服务器端浏览器, 并向客户端浏览器发送启动成功响应;  Step 201b, receiving a startup request sent by the client browser, starting a server browser corresponding to the client browser on the server side, and sending a startup success response to the client browser;
需要说明的是, 本发明实施例的服务器端可以为云端服务器。  It should be noted that the server end of the embodiment of the present invention may be a cloud server.
步骤 201b中, 在接收到客户端启动浏览器的请求后, 服务器端需要启动一个真实的 浏览器(客户端浏览器只是一个类似与远程控制的客户端) , 在本发明实施例中, 这个 浏览器会绑定该客户端, 不会被其它客户端访问到, 能够保护用户的隐私数据。  In step 201b, after receiving the request of the client to start the browser, the server needs to start a real browser (the client browser is just a client similar to the remote control). In the embodiment of the present invention, the browsing The client will be bound to the client and will not be accessed by other clients, protecting the user's private data.
服务器端获取客户端浏览器发送的用户对客户端浏览器输入的信息和输入焦点位置 信息, 根据信息和输入焦点位置信息对服务器端浏览器执行相应处理, 并将操作结果信 息发送到客户端浏览器。 随后 , 客户端浏览器显示和 /或执行服务器端返回的操作结果信 息。  The server obtains the information input by the client browser to the client browser and inputs the focus position information, performs corresponding processing on the server browser according to the information and the input focus position information, and sends the operation result information to the client to browse. Device. The client browser then displays and/or executes the results of the operation returned by the server.
下面对用户对客户端浏览器进行各种操作时的处理过程进行详细说明。  The following describes the processing procedure when the user performs various operations on the client browser.
图 3是本发明一个实施例的客户端浏览器与服务器端进行交互的处理示意图一,图 4 是本发明一个实施例的客户端浏览器与服务器端进行交互的处理示意图二,如图 3和图 4 所示, 根据本发明实施例的客户端浏览器与服务器端的交互包括如下几种操作: FIG. 3 is a first schematic diagram of processing of a client browser interacting with a server according to an embodiment of the present invention, FIG. 4 As shown in FIG. 3 and FIG. 4, the client browser interacts with the server according to an embodiment of the present invention, and the following operations are performed as follows:
一、输入  First, input
客户端浏览器获取用户对客户端浏览器输入的文字信息 (例如, 用户通过输入 URL 来访问对应的网页, 通过输入用户名密码登陆网站, 或者输入某些信息来进行页面搜索 等, 这些都是用户通过输入来完成的) , 并将文字信息和输入文字信息的输入焦点位置 信息发送到服务器端 (也就是说, 当用户输入字符时, 客户端将输入信息于当前输入焦 点的位置一起传输给服务器端) ; 在服务器端进行处理后, 客户端浏览器接收服务器端 反馈的响应信息, 其中, 响应信息中携带有输入成功或失败的信息、 以及在输入文字信 息成功时携带的客户端浏览器需要更新的显示内容信息; 客户端浏览器向用户提示信息 输入失败; 或者, 根据响应消息中携带的需要更新的显示内容信息进行显示。  The client browser obtains the text information input by the user to the client browser (for example, the user accesses the corresponding webpage by inputting the URL, logs in to the website by inputting the username and password, or inputs certain information to perform page search, etc., The user completes by inputting, and sends the text information and the input focus position information of the input text information to the server side (that is, when the user inputs the character, the client transmits the input information to the position of the current input focus together) The server side receives the response information fed back by the server, and the response information carries the information of the success or failure of the input, and the client browser carried when the input text information succeeds. The display content information that needs to be updated; the client browser prompts the user to input the information; or, according to the display content information that needs to be updated in the response message.
二、 滚屏操作  Second, scrolling operation
在用户浏览网页时, 屏幕无法显示全部内容, 就需要对页面进行滚犀操作。 当用户 滚犀时, 客户端浏览器获取用户对客户端浏览器进行滚犀操作的偏移量, 并将偏移量发 送到服务器端; 在服务器端进行处理后, 客户端浏览器接收服务器端反馈的响应信息, 其中, 响应信息中携带有服务器端根据偏移量计算出页面偏移量后得到客户端浏览器需 要更新的显示内容信息; 客户端浏览器根据响应消息中携带的需要更新的显示内容信息 进行显示。  When the user browses the webpage, the screen cannot display all the content, and the page needs to be scrolled. When the user rolls the rhinoceros, the client browser obtains the offset of the user performing the rhinoceros operation on the client browser, and sends the offset to the server; after processing on the server side, the client browser receives the server end. The response information of the feedback, wherein the response information carries the display content information that the client browser needs to update after calculating the page offset according to the offset; the client browser updates according to the needs carried in the response message. Display content information for display.
服务器端获取客户端浏览器发送的用户对客户端浏览器进行滚犀操作的偏移量; 并 根据滚犀操作的偏移量计算页面偏移量, 并根据页面偏移量确定客户端浏览器需要更新 的显示内容信息, 并向客户端浏览器反馈响应信息, 其中, 响应信息中携带有客户端浏 览器需要更新的显示内容信息。  The server obtains the offset of the user's browser to send the client browser to the rhinoceros operation; and calculates the page offset according to the offset of the rhinoceros operation, and determines the client browser according to the page offset. The updated display content information is required, and the response information is fed back to the client browser, where the response information carries the display content information that the client browser needs to update.
在计算页面偏移量时,如果 dx i + x + 浏览器宽度 >页面宽度,则 dx«=页面宽度- ( X +浏览器宽度) , 否则, dx ¾ =dx ¾屏, 其中, dx ¾屏为客户端浏览器提交的用户进行滚犀操 作的 X轴的偏移量, X为页面当前位置的 X轴坐标; 如果 dy ¾# + y+ 浏览器高度 >页面高 度, 则 dy ¾ =页面高度- ( x +浏览器高度) , 否则, dy ¾ =dy滚屏, 其中, dy滚屏为客户端浏 览器提交的用户进行滚犀操作的 y轴的偏移量, y为页面当前位置的 y轴坐标。 When calculating the page offset, if d xi + x + browser width > page width, then d x «= page width - (X + browser width), otherwise, d x 3⁄4 = d x 3⁄4 screen, where d x 3⁄4 screen is the offset of the X axis of the user who submits the rhinoceros operation submitted by the client browser, X is the X coordinate of the current position of the page; if d y 3⁄4# + y+ browser height > page height, then d y 3⁄4 = page height - (x + browser height), otherwise, d y 3⁄4 =d y scroll, where d y scrolls the offset of the y-axis for the user to submit the rhinoceros operation submitted by the client browser, y Is the y-axis coordinate of the current position of the page.
例如, 如客户端提交的偏移: dx=50, dy=100, 页面当前的位置为 x=0, y=100, 页 面宽度 page_width=500, 高度 page_height=1000, 浏览器的宽度 device_width=480, 高度 device_height=800, 为了保证偏移后浏览器不会超出页面的显示范围, 最终的偏移量为 dx=20, dy=100。 三、 事件 For example, if the client submits an offset: dx=50, dy=100, the current position of the page is x=0, y=100, page width page_width=500, height page_height=1000, browser width device_width=480, Height device_height=800, in order to ensure that the browser does not exceed the display range of the page after the offset, the final offset is Dx=20, dy=100. Third, the event
在本发明实施例中, 事件分为两种: 浏览器事件和网页事件, 其中, 浏览器事件: 指客户端与服务器端浏览器的交互事件, 包括新建标签页、 关闭标签页、 切换标签页、 管理收藏夹、 撤销操作等, 这些事件通过用户在客户端点击浏览器显示的按键或菜单完 成, 客户端浏览器将点击的位置信息上传给服务器端, 由服务器端浏览器完成后续处理。 网页事件: 指客户端通过服务器端浏览器与网页之间的交互事件。 用户在浏览网页时, 会点击上面不同的链接、 图片、 按键等控件, 客户端浏览器根据用户点击的位置、 时间 等信息传输给服务器端, 并根据服务器端的响应做出相应的处理。  In the embodiment of the present invention, there are two types of events: a browser event and a webpage event, wherein the browser event: refers to an interaction event between the client and the server browser, including creating a new tab, closing a tab, and switching tabs. The management of the favorites, the undo operation, etc., these events are completed by the user clicking the button or menu displayed by the browser on the client, and the client browser uploads the clicked location information to the server, and the server-side browser completes the subsequent processing. Web page event: refers to the interaction event between the client and the web page through the server browser. When the user browses the webpage, he or she clicks on the different links, pictures, buttons, and the like, and the client browser transmits the information to the server according to the location and time of the user's click, and performs corresponding processing according to the response of the server.
具体地, 客户端浏览器需要获取用户对客户端浏览器进行浏览器事件操作或网页事 件操作的输入焦点位置信息, 并将输入焦点位置信息发送到服务器端; 在服务器端进行 处理后, 客户端浏览器接收服务器端反馈的响应信息, 其中, 响应信息中携带有服务器 端根据浏览器事件操作或网页事件操作处理成功或失败的信息、 以及在浏览器事件操作 或网页事件操作成功时携带的客户端浏览器的显示内容信息; 客户端浏览器向用户提示 浏览器事件操作失败, 或者, 根据响应消息中携带的显示内容信息进行显示。  Specifically, the client browser needs to obtain input focus position information of the browser operation or webpage event operation performed by the user on the client browser, and send the input focus position information to the server; after processing on the server side, the client The browser receives the response information fed back by the server, where the response information carries information that the server succeeds or fails to process according to the browser event operation or the webpage event operation, and the client that is carried when the browser event operation or the webpage event operation succeeds. The browser displays the content information; the client browser prompts the user to fail the browser event, or displays the content according to the display content information carried in the response message.
图 8是一个本发明实施例的判断事件类型是浏览器事件还是网页事件的示意图, 如 图 8所示, 接收到客户端对应的点击后, 服务器端根据提交的位置信息计算出对应服务 端浏览器的位置, 来判断该事件的类型: 若输入焦点位置在浏览器框架上, 则确定事件 类型为浏览器事件; 若输入焦点位置在网页范围内, 则确定事件类型为网页事件。  FIG. 8 is a schematic diagram of determining whether an event type is a browser event or a webpage event according to an embodiment of the present invention. As shown in FIG. 8, after receiving a click corresponding to a client, the server calculates a corresponding server browsing according to the submitted location information. The position of the device to determine the type of the event: If the input focus position is on the browser frame, the event type is determined to be a browser event; if the input focus position is within the web page range, the event type is determined to be a web page event.
在事件类型为浏览器事件的情况下, 服务器端直接根据浏览器事件在服务器端浏览 器执行相应操作; 也就是说, 服务器端根据浏览器事件进行相应的处理, 无需向网页提 交事件, 在事件处理完成后返回给客户端对应的响应。 例如, 新建标签页, 服务端浏览 器在新建前先判断标签页是否达到上限, 如果达到, 则直接返回客户端不成功响应, 否 则, 新建标签页并显示该页, 将结果返回给客户端。  In the case that the event type is a browser event, the server directly performs a corresponding operation on the server-side browser according to the browser event; that is, the server performs corresponding processing according to the browser event, and does not need to submit an event to the webpage, in the event The response corresponding to the client is returned after the processing is completed. For example, if a new tab is created, the server browser determines whether the tab reaches the upper limit before creating a new one. If it is reached, it returns the client without a successful response. Otherwise, a new tab is displayed and the page is displayed, and the result is returned to the client.
在事件类型为网页事件的情况下, 服务器端根据用户的网页事件操作, 在服务器端 浏览器上执行网页事件操作 , 与响应的网站服务器进行交互, 将输入信息透传到相应的 网站服务器。 在实际应用中, 服务器端浏览器会模拟一次真实的点击事件, 由不同的点 击对象(控件)触发不同的响应。 如果是一个链接, 则打开对应的页面; 如果是一个按 键, 则进行表单提交操作。 待网站返回响应后, 服务器端将响应进行处理后返回给客户 端, 使其能够显示对应的内容。 In the case that the event type is a webpage event, the server performs a webpage event operation on the server side browser according to the webpage event of the user, interacts with the responding web server, and transparently transmits the input information to the corresponding web server. In practical applications, the server-side browser simulates a real click event, and different click objects (controls) trigger different responses. If it is a link, the corresponding page is opened; if it is a button, the form submission operation is performed. After the website returns a response, the server will process the response and return it to the client. End, so that it can display the corresponding content.
四、 下载和上传  Fourth, download and upload
在实际应用中, 用户会通过浏览网页进行下载或上传文件操作。 在上传数据时, 客 户端浏览器获取用户需要上传到网页的数据, 并将数据上传到服务器端, 通过服务器端 上传到相应的网页服务器; 在下载数据时, 客户端浏览器从服务器端下载需要从网页下 载的数据, 其中, 数据由服务器端从相应的网页服务器下载。  In the actual application, the user will download or upload a file by browsing the webpage. When uploading data, the client browser obtains the data that the user needs to upload to the webpage, uploads the data to the server, and uploads it to the corresponding web server through the server; when downloading the data, the client browser downloads from the server. The data downloaded from the web page, wherein the data is downloaded by the server from the corresponding web server.
具体地,在实际应用中,客户端浏览器会通过 FTP或私有协议与服务器端进行交互。 如果是下载操作, 客户端浏览器在文件被下载到服务器端后将文件下载到本地; 如果是 上传操作, 客户端浏览器先将文件上传的服务器端, 由服务器端最终上传到网站上。  Specifically, in practical applications, the client browser interacts with the server through FTP or a proprietary protocol. If it is a download operation, the client browser downloads the file to the local after the file is downloaded to the server; if it is an upload operation, the client browser first uploads the file to the server, and finally the server end uploads it to the website.
图 5是本发明一个实施例的上传下载时进行数据压缩和解压缩的示意图, 如图 5所 示, 在本发明实施例中, 考虑到网络流量的实际, 在本发明实施例中, 在网络环境值大 于或等于预先设置的网络环境优秀阈值时, 客户端浏览器可以选择采用实时传输方式将 信息和输入信息的输入焦点位置信息发送到服务器端; 在网络环境值小于预先设置的网 络环境优秀阈值时, 客户端浏览器可以选择采用定时上传和 /或定量上传的方式将信息和 输入信息的输入焦点位置信息发送到服务器端。  FIG. 5 is a schematic diagram of data compression and decompression during uploading and downloading according to an embodiment of the present invention. As shown in FIG. 5, in the embodiment of the present invention, in consideration of the actuality of network traffic, in the embodiment of the present invention, in a network environment When the value is greater than or equal to the pre-set network environment excellent threshold, the client browser may choose to use the real-time transmission method to send the input focus position information of the information and the input information to the server; the network environment value is less than the preset network environment excellent threshold. When the client browser can choose to use the timed upload and/or the quantitative upload, the information and the input focus position information of the input information are sent to the server.
也就是说, 用户输入信息时, 当网络环境良好时, 可以采用实时传输方式, 每输入 一个字符就上传一个, 每次更新都会触发请求操作; 当网络环境恶劣时, 采用定时上传 或者定量上传, 定时上传时设置有一个超时时间, 超过一定时间就进行一次上传, 而定 量上传就是当输入到指定个数的字符时进行一次上传, 这两种上传可以配合使用。  That is to say, when the user inputs the information, when the network environment is good, the real-time transmission mode can be adopted, and one input is input for each character, and the update operation is triggered every time; when the network environment is bad, the timed upload or the quantitative upload is adopted. There is a timeout period when uploading regularly, and uploading is performed after a certain time, and the quantitative upload is to upload once when inputting the specified number of characters. These two uploads can be used together.
用户在上传或下载文件时, 可以进行 gzip或其它算法的数据压缩, 使传输的数据尽 可能小, 从而即减少了流量又提供了速度, 在服务器端和客户端浏览器都有对应的压缩 和解压缩功能, 保证文件只是在传输过程中是压缩形式, 而体现在客户端浏览器或网站 时是非压缩原有格式。  When uploading or downloading files, users can perform data compression of gzip or other algorithms to make the transmitted data as small as possible, thus reducing the traffic and providing speed. Both the server and the client browser have corresponding compression and solution. The compression function ensures that the file is only compressed during the transmission process, and is embodied in the uncompressed original format when it is displayed in the client browser or website.
五、 关闭浏览器  Fifth, close the browser
用户在浏览完成后会关闭客户端浏览器。 当用户关闭客户端时, 会向服务器端发送 一个关闭请求, 待返回响应后, 客户端浏览器完成相应的操作。  The user closes the client browser after browsing. When the user closes the client, it sends a close request to the server. After the response is returned, the client browser completes the corresponding operation.
在实际应用中, 用户在浏览网站时, 有时会输入个人信息用以登陆、 支付等操作, 这就出现了安全问题。 在本发明实施例中, 为了保证客户端浏览器的安全, 客户端浏览 器可以通过数据加密传输的方法来保证用户的隐私数据不被第三方截获或识别出来, 具 体地, 在用户通过客户端向服务器端提交个人数据时, 采用一定的加密算法, 使第三方 即使在截获用户数据时也无法破解用户信息。 In practical applications, when users browse websites, they sometimes input personal information for login, payment, etc., which presents a security problem. In the embodiment of the present invention, in order to ensure the security of the client browser, the client browser can ensure that the user's private data is not intercepted or recognized by the third party through the method of data encryption transmission, specifically, the user passes the client. When submitting personal data to the server, use a certain encryption algorithm to make a third party User information cannot be cracked even when user data is intercepted.
在本发明实施例中, 客户端浏览器还可以采用緩存技术, 客户端浏览器緩存是为了 解决用户浏览已浏览过页面或部分的响应问题。 当客户端新请求一个页面时, 由服务器 端将这个页面分割成小块, 将分割后的小块进行标记 key, 并计算出该块数据的 HASH 值 hash_value , key和 hash_value与该块的数据一并发送给客户端。 客户端在接收到数据 后, 将数据进行緩存 , 当下次再浏览该块页面时, 只需将 key和 hash_value传送给服务 器端以判断该块数据是否依然有效, 即判断该块页面与当前服务器端对应页面块(key ) 对应的数据(通过 hash_value )是否相同, 来决定是否需要重传数据。 如果某块有变化, 则只需要传输变化的那块数据。 其中, key值由 URL、 横向起始位置和纵向起始位置组 成。  In the embodiment of the present invention, the client browser may also adopt a caching technology, and the client browser cache is to solve the problem that the user browses the page or part of the browsed page. When the client newly requests a page, the server divides the page into small blocks, marks the divided small blocks with keys, and calculates the HASH value hash_value, key and hash_value of the block data and the data of the block. And send it to the client. After receiving the data, the client caches the data. When browsing the block page next time, the client only needs to transmit the key and hash_value to the server to determine whether the block data is still valid, that is, the block page and the current server end. Corresponding to whether the data corresponding to the page block (key) (by hash_value) is the same, to determine whether the data needs to be retransmitted. If there is a change in a block, only the changed piece of data needs to be transmitted. The key value consists of a URL, a horizontal start position, and a vertical start position.
也就是说, 在本发明实施例中, 上述显示内容信息包括: 将显示内容进行分块后的 一块或多块显示数据、 与各块显示数据对应的 key值、 以及与各块显示数据对应的哈希 值。  That is, in the embodiment of the present invention, the display content information includes: one or more pieces of display data after the display content is divided, a key value corresponding to each block display data, and a corresponding to each block display data. Hash value.
客户端浏览器将组成显示内容的各块显示数据、 相应的 key值、 以及相应的哈希值 緩存在本地; 在下次需要对显示内容进行显示时, 客户端浏览器将组成显示内容的各块 显示数据所对应的 key值和哈希值发送到服务器端; 客户端浏览器根据服务器端返回的 信息确认显示内容是否存在更新, 如果不存在更新, 则直接根据显示内容信息进行显示, 如果存在更新, 获取服务器端返回的最新显示数据、 以及相应的 key值和哈希值, 根据 最新显示数据、 以及相应的 key值和哈希对显示内容信息进行更新 , 并根据更新后的显 示内容信息进行显示。  The client browser caches the display data of each block constituting the display content, the corresponding key value, and the corresponding hash value locally; the next time the display content needs to be displayed, the client browser will compose the blocks of the display content. The key value and the hash value corresponding to the display data are sent to the server; the client browser confirms whether the display content is updated according to the information returned by the server, and if there is no update, directly displays according to the displayed content information, if there is an update Obtaining the latest display data returned by the server, and corresponding key values and hash values, updating the display content information according to the latest display data, and corresponding key values and hashes, and displaying according to the updated display content information. .
图 6是本发明一个实施例的服务器端分割页面的示意图, 图 7是本发明一个实施例 的客户端浏览器显示的内容块的示意图, 如图 6和图 7所示, 图 6表示了服务器端对网 页所做的页面分割处理, 并根据 url、 偏移位置等信息计算出每个块的 key和 hash_value 值; 图 7表示了客户端浏览器当前浏览该页面所覆盖的块 www.test.com.cn_0_0、 www.test.com.cn_0_240到 www.test.com.cn_240_640,客户端浏览器将这些块的数据以块 为单位进行緩存。 当用户再次浏览当前区域的内容时, 只需要将覆盖的块的 key和 hash value值传给服务器端, 由服务器判断是否需要对某些块的数据进行重传。  6 is a schematic diagram of a server-side split page according to an embodiment of the present invention, and FIG. 7 is a schematic diagram of a content block displayed by a client browser according to an embodiment of the present invention. As shown in FIG. 6 and FIG. 7, FIG. 6 shows a server. The page segmentation process performed on the webpage is performed, and the key and hash_value values of each block are calculated according to the information such as the url and the offset position; and FIG. 7 shows the block www.test that the client browser currently browses the page covered by the page. Com.cn_0_0, www.test.com.cn_0_240 to www.test.com.cn_240_640, the client browser caches the data of these blocks in units of blocks. When the user browses the content of the current area again, only the key and hash value of the overwritten block need to be transmitted to the server, and the server determines whether it is necessary to retransmit the data of some blocks.
综上所述, 本发明实施例的技术方案在响应速度快, 流量消耗少的情况下, 还能保 证很好的渲染效果, 同时支持所有的用户操作, 给用户提供了很好的上网环境, 保证用 户的上网安全。 根据本发明,提供了一种客户端浏览器及相应的服务器浏览器.图 9a是本发明一个实 施例的客户端浏览器的结构示意图, 如图 9a所示, 根据本发明实施例的客户端浏览器包 括: 启动模块 90a以及处理模块 92a, 以下对本发明实施例的各个模块进行详细的说明。 In summary, the technical solution of the embodiment of the present invention can ensure a good rendering effect in the case of fast response speed and low traffic consumption, and supports all user operations at the same time, providing a good online environment for the user. Keep users safe online. According to the present invention, a client browser and a corresponding server browser are provided. FIG. 9a is a schematic structural diagram of a client browser according to an embodiment of the present invention. As shown in FIG. 9a, a client according to an embodiment of the present invention is shown. The browser includes: a startup module 90a and a processing module 92a. Hereinafter, each module of the embodiment of the present invention will be described in detail.
启动模块 90a, 适于接收启动客户端浏览器的触发指令, 向服务器端发送启动请求, 并在接收到服务器端返回的启动成功响应后, 启动客户端浏览器;  The startup module 90a is adapted to receive a trigger instruction for starting the client browser, send a startup request to the server, and start the client browser after receiving the startup success response returned by the server;
在本发明实施例中,客户端浏览器可以为移动客户端浏览器,也可以为 PC客户端浏 览器, 上述服务器端可以为云端服务器。  In the embodiment of the present invention, the client browser may be a mobile client browser or a PC client browser, and the server end may be a cloud server.
启动模块 90a在接收启动客户端浏览器的触发指令后, 启动模块 90a需要向服务器 端发送启动请求, 此时, 服务器端接收客户端浏览器发送的启动请求, 在服务器端启动 一个与客户端浏览器相对应的服务器端浏览器, 并向启动模块 90a发送启动成功响应; 启动模块 90a在接收到服务器端返回的启动成功响应后, 启动客户端浏览器并显示初始 页面。  After the startup module 90a receives the triggering command to start the client browser, the startup module 90a needs to send a startup request to the server. At this time, the server receives the startup request sent by the client browser, and starts a browsing with the client on the server. Corresponding server-side browser, and sending a startup success response to the startup module 90a; after receiving the startup success response returned by the server, the startup module 90a starts the client browser and displays the initial page.
优选地, 在本发明实施例中, 启动请求中还可以携带有客户端浏览器的用户标识。 服务器端可以根据上述用户标识将用户数据(包括: 浏览器收藏夹数据、 和 /或浏览历史 数据 )存储在数据库中, 并根据客户端浏览器发送的用户操作更新数据库中相应的用户 数据。  Preferably, in the embodiment of the present invention, the activation request may further carry a user identifier of the client browser. The server side may store user data (including: browser favorites data, and/or browsing history data) in the database according to the above user identifier, and update corresponding user data in the database according to user operations sent by the client browser.
处理模块 92a,适于接收用户对客户端浏览器输入的信息,将信息和输入焦点位置信 息发送到服务器端, 显示和 /或执行服务器端返回的操作结果信息。  The processing module 92a is adapted to receive information input by the user to the client browser, send information and input focus position information to the server, and display and/or execute operation result information returned by the server.
处理模块 92a需要接收用户对客户端浏览器输入的信息, 其中, 用户对客户端浏览 器输入的信息包括: 用户对客户端浏览器输入的文字信息、 用户对客户端浏览器进行滚 屏操作的偏移量、 或者用户对客户端浏览器进行浏览器事件操作或网页事件操作的输入 焦点位置信息等。  The processing module 92a needs to receive the information input by the user to the client browser. The information input by the user to the client browser includes: text information input by the user to the client browser, and a user's bias to scroll the client browser. The shift amount, or the input focus position information of the browser event operation or webpage event operation performed by the user on the client browser.
服务器端获取处理模块 92a发送的用户对客户端浏览器输入的信息和输入焦点位置 信息, 根据信息和输入焦点位置信息对服务器端浏览器执行相应处理, 并将操作结果信 息发送到处理模块 82。 随后, 处理模块 82显示和 /或执行服务器端返回的操作结果信息。  The server-side acquisition processing module 92a sends the information input by the user to the client browser and the input focus position information, performs corresponding processing on the server-side browser according to the information and the input focus position information, and sends the operation result information to the processing module 82. Processing module 82 then displays and/or performs operational result information returned by the server.
供了一种服务器, 需要说明的是, 本发明实施例的服务器可以为云端服务器。 图 9b 是本发明一个实施例的服务器的结构示意图, 如图 9b所示, 根据本发明实施例的服务器 包括: 启动单元 90b、 以及处理单元 92b, 以下对本发明实施例的各个模块进行详细的说 明。  A server is provided. It should be noted that the server in the embodiment of the present invention may be a cloud server. FIG. 9b is a schematic structural diagram of a server according to an embodiment of the present invention. As shown in FIG. 9b, the server according to the embodiment of the present invention includes: a starting unit 90b and a processing unit 92b. The following describes the modules in the embodiment of the present invention in detail. .
启动单元 90b,适于通过客户端交互接口接收客户端浏览器发送的启动请求,启动一 个与客户端浏览器相对应的服务器端浏览器, 并通过客户端交互接口向客户端浏览器发 送启动成功响应; The starting unit 90b is adapted to receive a startup request sent by the client browser through the client interaction interface, and start a a server-side browser corresponding to the client browser, and sending a startup success response to the client browser through the client interaction interface;
在接收到客户端启动浏览器的请求后,启动单元 90b需要启动一个真实的浏览器(客 户端浏览器只是一个类似与远程控制的客户端) , 在本发明实施例中, 这个浏览器会绑 定该客户端, 不会被其它客户端访问到, 能够保护用户的隐私数据。  Upon receiving the client's request to launch the browser, the launch unit 90b needs to launch a real browser (the client browser is just a client similar to the remote control). In the embodiment of the present invention, the browser will be tied. The client will not be accessed by other clients and will protect the user's private data.
优选地, 启动单元 90b在服务器端启动一个与客户端浏览器相对应的服务器端浏览 器时, 首先需要在服务器端启动一个与客户端浏览器相对应的服务器端浏览器进程, 并 在緩存中启动一个与服务器端浏览器进程对应的服务器端浏览器页面。  Preferably, when the startup unit 90b starts a server-side browser corresponding to the client browser on the server side, firstly, a server-side browser process corresponding to the client browser is started on the server side, and is in the cache. Start a server-side browser page that corresponds to the server-side browser process.
在本发明实施例中, 启动请求中还可以携带有客户端浏览器的用户标识。 服务器端 的用户数据存储模块可以根据上述用户标识将用户数据(包括: 浏览器收藏夹数据、 和 / 或浏览历史数据)存储在数据库中, 服务器端的用户数据更新模块根据客户端浏览器发 送的用户操作更新数据库中相应的用户数据。  In the embodiment of the present invention, the user identifier of the client browser may also be carried in the startup request. The user data storage module on the server side may store the user data (including: browser favorite data, and/or browsing history data) in the database according to the above user identifier, and the user data update module of the server side performs the user operation according to the client browser. Update the corresponding user data in the database.
在接收到客户端侧的用户登录请求并登陆成功后, 启动单元 90b根据用户标识从数 据库中获取相应的用户数据 ,并将用户数据加载在緩存中相应的服务器端浏览器页面中。  After receiving the user login request on the client side and successfully logging in, the startup unit 90b obtains the corresponding user data from the database according to the user identifier, and loads the user data in the corresponding server browser page in the cache.
在实际应用中, 有些用户数据涉及到用户的个人财产安全而不能在服务器端进行存 储, 而有的用户数据为了方便用户操作是需要在服务器端进行存储的, 例如, 收藏夹、 浏览历史等其它信息。 用户数据存储模块将每个用户的这些数据维护成一个表, 同时可 以使用用户登录的密码进行加密。 在某个用户启动客户端浏览器时, 启动单元 90b将用 户的 ID (或其它信息)作为 key, 获取到对应的用户数据, 并加载到服务器端当前为该 用户启动的浏览器上。 此外, 用户可以执行一些操作从而对这些数据进行管理, 用户数 据更新模块根据用户的操作请求作出相应的处理, 最终更新到服务器端对应用户的数据 表上, 完成用户的操作请求。  In practical applications, some user data relates to the user's personal property security and cannot be stored on the server side, and some user data needs to be stored on the server side for the convenience of user operations, for example, favorites, browsing history, etc. information. The user data storage module maintains each user's data in a single table and encrypts it with the password of the user's login. When a user launches the client browser, the startup unit 90b takes the user's ID (or other information) as the key, obtains the corresponding user data, and loads it onto the browser currently launched by the server for the user. In addition, the user can perform some operations to manage the data, and the user data update module performs corresponding processing according to the operation request of the user, and finally updates to the data table of the corresponding user of the server, and completes the operation request of the user.
处理单元 92b,适于通过客户端交互接口获取客户端浏览器发送的用户对客户端浏览 器输入的信息和输入焦点位置信息, 根据信息和输入焦点位置信息对服务器端浏览器执 行相应处理, 并将操作结果信息发送到客户端浏览器。  The processing unit 92b is configured to acquire information input by the client browser and input focus position information by the client browser through the client interaction interface, and perform corresponding processing on the server browser according to the information and the input focus position information, and Send the operation result information to the client browser.
处理单元 92b需要获取客户端浏览器发送的用户对客户端浏览器输入的信息,其中, 用户对客户端浏览器输入的信息包括: 用户对客户端浏览器输入的文字信息、 用户对客 户端浏览器进行滚犀操作的偏移量、 或者用户对客户端浏览器进行浏览器事件操作或网 页事件操作的输入焦点位置信息等。  The processing unit 92b needs to obtain the information input by the client browser to the client browser, wherein the information input by the user to the client browser includes: text information input by the user to the client browser, and user browsing to the client. The offset of the rhinoceros operation, or the input focus position information of the browser action or webpage event operation performed by the user on the client browser.
处理单元 92b获取客户端浏览器发送的用户对客户端浏览器输入的信息和输入焦点 位置信息, 根据信息和输入焦点位置信息对服务器端浏览器执行相应处理, 并将操作结 果信息发送到客户端浏览器。 随后 , 客户端浏览器显示和 /或执行服务器端返回的操作结 果信息。 The processing unit 92b acquires information and input focus input by the client browser to the client browser. The location information is processed according to the information and the input focus position information to the server-side browser, and the operation result information is sent to the client browser. Subsequently, the client browser displays and/or performs operational result information returned by the server.
综上所述, 本发明实施例的技术方案在响应速度快, 流量消耗少的情况下, 还能保 证很好的渲染效果, 同时支持所有的用户操作, 给用户提供了很好的上网环境, 保证用 户的上网安全。 需要说明的是, 在不冲突的情况下, 本发明中的实施例及实施例中的特征可以相互 任意组合。  In summary, the technical solution of the embodiment of the present invention can ensure a good rendering effect in the case of fast response speed and low traffic consumption, and supports all user operations at the same time, providing a good online environment for the user. Keep users safe online. It should be noted that the embodiments of the present invention and the features of the embodiments may be arbitrarily combined with each other without conflict.
本发明的各个部件实施例可以以硬件实现, 或者以在一个或者多个处理器上运行的 软件模块实现, 或者以它们的组合实现。 本领域的技术人员应当理解, 可以在实践中使 用微处理器或者数字信号处理器 (DSP )来实现根据本发明实施例的网络搜索系统中的 一些或者全部部件的一些或者全部功能。 本发明还可以实现为用于执行这里所描述的方 法的一部分或者全部的设备或者装置程序 (例如, 计算机程序和计算机程序产品) 。 这 样的实现本发明的程序可以存储在计算机可读介质上, 或者可以具有一个或者多个信号 的形式。 这样的信号可以从因特网网站上下载得到, 或者在载体信号上提供, 或者以任 何其他形式提供。  The various component embodiments of the present invention may be implemented in hardware, or in a software module running on one or more processors, or in a combination thereof. Those skilled in the art will appreciate that some or all of the functionality of some or all of the components of the network search system in accordance with embodiments of the present invention may be implemented in practice using a microprocessor or digital signal processor (DSP). The invention can also be implemented as a device or device program (e.g., a computer program and a computer program product) for performing some or all of the methods described herein. Such a program implementing the invention may be stored on a computer readable medium or may be in the form of one or more signals. Such signals may be downloaded from an Internet website, provided on a carrier signal, or provided in any other form.
例如,图 6示出了可以实现根据本发明的网络搜索方法的服务器,例如应用服务器。 该服务器传统上包括处理器 610和以存储器 620形式的计算机程序产品或者计算机可读 介质。 存储器 620可以是诸如闪存、 EEPROM (电可擦除可编程只读存储器)、 EPROM、 硬盘或者 ROM之类的电子存储器。 存储器 620具有用于执行上述方法中的任何方法步 骤的程序代码 631的存储空间 630。例如,用于程序代码的存储空间 630可以包括分别用 于实现上面的方法中的各种步骤的各个程序代码 631。这些程序代码可以从一个或者多个 计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。 这些计算机程序 产品包括诸如硬盘, 紧致盘(CD ) 、 存储卡或者软盘之类的程序代码载体。 这样的计算 机程序产品通常为如参考图 7所述的便携式或者固定存储单元。 该存储单元可以具有与 图 6的服务器中的存储器 620类似布置的存储段、 存储空间等。 程序代码可以例如以适 当形式进行压缩。 通常, 存储单元包括计算机可读代码 63 Γ , 即可以由例如诸如 610之 类的处理器读取的代码, 这些代码当由服务器运行时, 导致该服务器执行上面所描述的 方法中的各个步骤。  For example, Figure 6 illustrates a server, such as an application server, that can implement the network search method in accordance with the present invention. The server conventionally includes a processor 610 and a computer program product or computer readable medium in the form of a memory 620. Memory 620 can be an electronic memory such as flash memory, EEPROM (Electrically Erasable Programmable Read Only Memory), EPROM, hard disk or ROM. Memory 620 has a memory space 630 for executing program code 631 of any of the above methods. For example, storage space 630 for program code can include various program code 631 for implementing various steps in the above methods, respectively. The program code can be read from or written to one or more computer program products. These computer program products include program code carriers such as a hard disk, a compact disk (CD), a memory card, or a floppy disk. Such computer program products are typically portable or fixed storage units as described with reference to Figure 7. The storage unit may have a storage section, a storage space, and the like arranged similarly to the storage 620 in the server of Fig. 6. The program code can be compressed, for example, in an appropriate form. Typically, the storage unit includes computer readable code 63 Γ , i.e., code readable by a processor, such as 610, that when executed by the server causes the server to perform various steps in the methods described above.
本文中所称的 "一个实施例"、 "实施例"或者"一个或者多个实施例 "意味着, 结合实施 例描述的特定特征、 结构或者特性包括在本发明的至少一个实施例中。 此外, 请注意, 这里"在一个实施例中"的词语例子不一定全指同一个实施例。 The term "one embodiment", "an embodiment" or "one or more embodiments" is used herein to mean that a particular feature, structure or characteristic described in connection with the embodiments is included in at least one embodiment of the invention. Also, please note that The words "in one embodiment" are not necessarily all referring to the same embodiment.
在此处所提供的说明书中, 说明了大量具体细节。 然而, 能够理解, 本发明的实施 例可以在没有这些具体细节的情况下被实践。 在一些实例中, 并未详细示出公知的方法、 结构和技术, 以便不模糊对本说明书的理解。  Numerous specific details are set forth in the description provided herein. However, it is understood that the embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures, and techniques are not shown in detail so as not to obscure the understanding of the description.
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制, 并且本领域 技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。 在权利要求中, 不应将位于括号之间的任何参考符号构造成对权利要求的限制。 单词"包含"不排除存在 未列在权利要求中的元件或步骤。 位于元件之前的单词 "一"或"一个"不排除存在多个这 样的元件。 本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机 来实现。 在列举了若干装置的单元权利要求中, 这些装置中的若干个可以是通过同一个 硬件项来具体体现。 单词第一、 第二、 以及第三等的使用不表示任何顺序。 可将这些单 词解释为名称。  It is to be noted that the above-described embodiments are illustrative of the invention and are not intended to limit the scope of the invention, and those skilled in the art can devise alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as a limitation. The word "comprising" does not exclude the presence of the elements or steps that are not listed in the claims. The word "a" or "an" preceding a component does not exclude the presence of a plurality of such elements. The invention can be implemented by means of hardware comprising several distinct elements and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means can be embodied by the same hardware item. The use of the words first, second, and third does not indicate any order. These words can be interpreted as names.
此外, 还应当注意, 本说明书中使用的语言主要是为了可读性和教导的目的而选择 的, 而不是为了解释或者限定本发明的主题而选择的。 因此, 在不偏离所附权利要求书 的范围和精神的情况下, 对于本技术领域的普通技术人员来说许多修改和变更都是显而 易见的。 对于本发明的范围, 对本发明所做的公开是说明性的, 而非限制性的, 本发明 的范围由所附权利要求书限定。  In addition, it should be noted that the language used in the specification has been selected for the purpose of readability and teaching, and is not intended to be construed or limited. Therefore, many modifications and variations will be apparent to those of ordinary skill in the art. The disclosure of the present invention is intended to be illustrative, and not restrictive, and the scope of the invention is defined by the appended claims.

Claims

权 利 要 求 Rights request
1、 一种客户端浏览器实现方法, 包括: 1. A client browser implementation method, including:
接收启动客户端浏览器的触发指令, 向服务器端发送启动请求, 并在接收到所述服 务器端返回的启动成功响应后, 启动所述客户端浏览器; Receive a trigger instruction to start the client browser, send a startup request to the server, and after receiving a successful startup response returned by the server, start the client browser;
接收用户对所述客户端浏览器输入的信息, 将所述信息和输入焦点位置信息发送到 所述服务器端, 显示和 /或执行所述服务器端返回的操作结果信息。 Receive information input by the user to the client browser, send the information and input focus position information to the server, and display and/or execute the operation result information returned by the server.
2、 如权利要求 1所述的方法, 其特征在于, 所述启动请求中携带有所述客户端浏览 器的用户标识。 2. The method of claim 1, wherein the startup request carries the user identification of the client browser.
3、 如权利要求 1至 2中任一项所述的方法, 其特征在于, 接收用户对所述客户端浏 览器输入的信息, 将所述信息和输入焦点位置信息发送到所述服务器端, 显示和 /或执行 所述服务器端返回的操作结果信息进一步包括: 3. The method according to any one of claims 1 to 2, characterized in that: receiving information input by the user to the client browser, and sending the information and input focus position information to the server, Displaying and/or executing the operation result information returned by the server further includes:
获取用户对所述客户端浏览器输入的文字信息; Obtain the text information input by the user to the client browser;
将所述文字信息和输入所述文字信息的输入焦点位置信息发送到所述服务器端; 所述客户端浏览器接收所述服务器端反馈的响应信息, 其中, 所述响应信息中携带 有输入成功或失败的信息、 以及在输入文字信息成功时携带的所述客户端浏览器需要更 新的显示内容信息; The text information and the input focus position information of the input text information are sent to the server; the client browser receives the response information fed back by the server, wherein the response information carries the input success or failure information, and the display content information that the client browser needs to update when the text information is successfully input;
所述客户端浏览器向用户提示信息输入失败; 或者, 根据所述响应消息中携带的需 要更新的显示内容信息进行显示。 The client browser prompts the user that the information input fails; or, displays the information according to the display content information that needs to be updated carried in the response message.
4、 如权利要求 1至 3中任一项所述的方法, 其特征在于, 接收用户对所述客户端浏 览器输入的信息, 将所述信息和 /或输入焦点位置信息发送到所述服务器端, 显示和 /或执 行所述服务器端返回的操作结果信息进一步包括: 4. The method according to any one of claims 1 to 3, characterized in that: receiving information input by the user to the client browser, and sending the information and/or input focus position information to the server The server side, displaying and/or executing the operation result information returned by the server side further includes:
获取用户对所述客户端浏览器进行滚屏操作的偏移量; Obtain the offset of the user's scrolling operation on the client browser;
将所述偏移量发送到所述服务器端; Send the offset to the server;
所述客户端浏览器接收所述服务器端反馈的响应信息, 其中, 所述响应信息中携带 有所述服务器端根据所述偏移量计算出页面偏移量后得到所述客户端浏览器需要更新的 显示内容信息; The client browser receives the response information fed back by the server, wherein the response information carries the page offset required by the client browser after the server calculates the page offset based on the offset. Updated display content information;
所述客户端浏览器根据所述响应消息中携带的需要更新的显示内容信息进行显示。 The client browser performs display according to the display content information that needs to be updated carried in the response message.
5、 如权利要求 1至 4中任一项所述的方法, 其特征在于, 接收用户对所述客户端浏 览器输入的信息, 将所述信息和输入焦点位置信息发送到所述服务器端, 显示和 /或执行 所述服务器端返回的操作结果信息进一步包括: 5. The method according to any one of claims 1 to 4, characterized in that: receiving information input by the user to the client browser, and sending the information and input focus position information to the server, display and/or execute The operation result information returned by the server further includes:
获取用户对所述客户端浏览器进行浏览器事件操作或网页事件操作的输入焦点位置 信息; Obtain the input focus position information of the user's browser event operation or web page event operation on the client browser;
将所述输入焦点位置信息发送到所述服务器端; Send the input focus position information to the server;
所述客户端浏览器接收所述服务器端反馈的响应信息, 其中, 所述响应信息中携带 有所述服务器端根据所述浏览器事件操作或网页事件操作处理成功或失败的信息、 以及 在浏览器事件操作或网页事件操作成功时携带的所述客户端浏览器的显示内容信息; 所述客户端浏览器向用户提示浏览器事件操作失败, 或者, 根据所述响应消息中携 带的所述显示内容信息进行显示。 The client browser receives the response information fed back by the server, wherein the response information carries information about the success or failure of the server according to the browser event operation or web page event operation, and the information during browsing The display content information of the client browser carried when the browser event operation or web page event operation is successful; the client browser prompts the user that the browser event operation failed, or, according to the display content carried in the response message Content information is displayed.
6、 如权利要求 1至 5中任一项所述的方法, 其特征在于, 所述显示内容信息包括: 将显示内容进行分块后的一块或多块显示数据、 与各块显示数据对应的 key值、 以及与 各块显示数据对应的哈希值。 6. The method according to any one of claims 1 to 5, characterized in that the display content information includes: one or more blocks of display data after dividing the display content into blocks, and one or more blocks of display data corresponding to each block of display data. key value, and the hash value corresponding to each block of display data.
7、 如权利要求 1至 6中任一项所述的方法, 其特征在于, 所述方法进一步包括: 将组成所述显示内容的各块显示数据、 相应的 key值、 以及相应的哈希值緩存在所 述客户端浏览器中; 7. The method according to any one of claims 1 to 6, characterized in that, the method further includes: displaying data, corresponding key values, and corresponding hash values of each block that constitutes the display content. cached in said client browser;
在下次需要对所述显示内容进行显示时, 将组成所述显示内容的各块显示数据所对 应的 key值和哈希值发送到所述服务器端; The next time the display content needs to be displayed, the key value and hash value corresponding to each piece of display data that constitutes the display content is sent to the server;
根据所述服务器端返回的信息确认所述显示内容是否存在更新, 如果不存在更新, 则直接根据所述显示内容信息进行显示, 如果存在更新 , 获取所述服务器端返回的最新 显示数据、 以及相应的 key值和哈希值, 根据所述最新显示数据、 以及相应的 key值和 哈希对所述显示内容信息进行更新, 并根据更新后的所述显示内容信息进行显示。 Confirm whether there is an update in the display content based on the information returned by the server. If there is no update, display directly based on the display content information. If there is an update, obtain the latest display data returned by the server, and the corresponding The key value and hash value of , the display content information is updated according to the latest display data and the corresponding key value and hash, and the display content information is displayed according to the updated display content information.
8、 如权利要求 1至 7中任一项所述的方法, 其特征在于, 接收用户对所述客户端浏 览器输入的信息, 将所述信息和输入焦点位置信息发送到所述服务器端, 显示和 /或执行 所述服务器端返回的操作结果信息进一步包括: 8. The method according to any one of claims 1 to 7, characterized in that: receiving information input by the user to the client browser, and sending the information and input focus position information to the server, Displaying and/or executing the operation result information returned by the server further includes:
获取用户需要上传到网页的数据, 并将所述数据上传到所述服务器端, 通过所述服 务器端上传到相应的网页服务器; Obtain the data that the user needs to upload to the web page, upload the data to the server, and upload it to the corresponding web server through the server;
从所述服务器端下载需要从网页下载的数据, 其中, 所述数据由所述服务器端从相 应的网页服务器下载。 Download the data that needs to be downloaded from the web page from the server side, where the data is downloaded from the corresponding web page server by the server side.
9、 一种客户端浏览器, 包括: 9. A client browser, including:
启动模块, 适于接收启动客户端浏览器的触发指令, 向服务器端发送启动请求, 并 在接收到所述服务器端返回的启动成功响应后, 启动所述客户端浏览器; 处理模块, 适于接收用户对所述客户端浏览器输入的信息, 将所述信息和输入焦点 位置信息发送到所述服务器端, 显示和 /或执行所述服务器端返回的操作结果信息。 The startup module is adapted to receive a trigger instruction to start the client browser, send a startup request to the server, and After receiving the successful startup response returned by the server, start the client browser; a processing module adapted to receive the information input by the user to the client browser, and send the information and the input focus position information to the server, display and/or execute the operation result information returned by the server.
10、 一种服务器端浏览器实现方法, 包括: 10. A server-side browser implementation method, including:
接收客户端浏览器发送的启动请求, 在所述服务器端启动一个与所述客户端浏览器 相对应的服务器端浏览器, 并向所述客户端浏览器发送启动成功响应; Receive a startup request sent by the client browser, start a server browser corresponding to the client browser on the server side, and send a startup success response to the client browser;
获取所述客户端浏览器发送的用户对所述客户端浏览器输入的信息和输入焦点位置 信息, 根据所述信息和所述输入焦点位置信息对所述服务器端浏览器执行相应处理, 并 将操作结果信息发送到所述客户端浏览器。 Obtain the information input by the user to the client browser and the input focus position information sent by the client browser, perform corresponding processing on the server-side browser according to the information and the input focus position information, and The operation result information is sent to the client browser.
11、 一种服务器, 包括: 11. A server, including:
启动单元, 适于通过客户端交互接口接收客户端浏览器发送的启动请求, 启动一个 与所述客户端浏览器相对应的服务器端浏览器, 并通过所述客户端交互接口向所述客户 端浏览器发送启动成功响应; The startup unit is adapted to receive a startup request sent by the client browser through the client interactive interface, start a server browser corresponding to the client browser, and send a request to the client through the client interactive interface. The browser sends a successful startup response;
处理单元, 适于通过所述客户端交互接口获取所述客户端浏览器发送的用户对所述 客户端浏览器输入的信息和输入焦点位置信息, 根据所述信息和所述输入焦点位置信息 对所述服务器端浏览器执行相应处理, 并将操作结果信息发送到所述客户端浏览器。 The processing unit is adapted to obtain the information input by the user to the client browser and the input focus position information sent by the client browser through the client interactive interface, and perform the processing according to the information and the input focus position information. The server-side browser performs corresponding processing and sends operation result information to the client-side browser.
12、 一种计算机程序, 包括计算机可读代码, 当所述计算机可读代码在服务器上运 行时, 导致所述服务器执行根据权利要求 1-8中的任一个所述的客户端浏览器实现方法。 12. A computer program, comprising computer readable code, which, when run on a server, causes the server to execute the client browser implementation method according to any one of claims 1-8 .
13、 一种计算机可读介质, 其中存储了如权利要求 12所述的计算机程序。 13. A computer-readable medium in which the computer program according to claim 12 is stored.
14、 一种计算机程序, 包括计算机可读代码, 当所述计算机可读代码在服务器上运 行时,导致所述服务器执行根据权利要求 10中的任一个所述的服务器端浏览器实现方法。 14. A computer program, comprising computer readable code, when the computer readable code is run on a server, causing the server to execute the server-side browser implementation method according to any one of claims 10.
15、 一种计算机可读介质, 其中存储了如权利要求 14所述的计算机程序。 15. A computer-readable medium in which the computer program according to claim 14 is stored.
PCT/CN2013/082160 2012-11-09 2013-08-23 Client side browser, server side browser and realization method thereof WO2014071764A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201210445185.8A CN102929489B (en) 2012-11-09 2012-11-09 Client browser implementation method and client browser
CN201210445185.8 2012-11-09
CN201210447433.2A CN102981705B (en) 2012-11-09 2012-11-09 Server-side browser implementation method and server
CN201210447433.2 2012-11-09

Publications (1)

Publication Number Publication Date
WO2014071764A1 true WO2014071764A1 (en) 2014-05-15

Family

ID=50684017

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/082160 WO2014071764A1 (en) 2012-11-09 2013-08-23 Client side browser, server side browser and realization method thereof

Country Status (1)

Country Link
WO (1) WO2014071764A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104967689A (en) * 2015-06-30 2015-10-07 北京奇虎科技有限公司 Data processing method and data processing device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101378400A (en) * 2007-08-30 2009-03-04 国际商业机器公司 Method, server and system for polymerizing desktop application and Web application
US20100042678A1 (en) * 2008-08-12 2010-02-18 Samsung Electronics Co., Ltd. Method and apparatus for providing/receiving user interface using user interface directory
CN101789870A (en) * 2009-01-23 2010-07-28 国际商业机器公司 Method for informing audience terminal of screen receiving status in internet conference and device thereof
CN102929489A (en) * 2012-11-09 2013-02-13 北京奇虎科技有限公司 Implementation method of client browser and client browser
CN102981705A (en) * 2012-11-09 2013-03-20 北京奇虎科技有限公司 Server-side browser implementing method and server

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101378400A (en) * 2007-08-30 2009-03-04 国际商业机器公司 Method, server and system for polymerizing desktop application and Web application
US20100042678A1 (en) * 2008-08-12 2010-02-18 Samsung Electronics Co., Ltd. Method and apparatus for providing/receiving user interface using user interface directory
CN101789870A (en) * 2009-01-23 2010-07-28 国际商业机器公司 Method for informing audience terminal of screen receiving status in internet conference and device thereof
CN102929489A (en) * 2012-11-09 2013-02-13 北京奇虎科技有限公司 Implementation method of client browser and client browser
CN102981705A (en) * 2012-11-09 2013-03-20 北京奇虎科技有限公司 Server-side browser implementing method and server

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104967689A (en) * 2015-06-30 2015-10-07 北京奇虎科技有限公司 Data processing method and data processing device
CN104967689B (en) * 2015-06-30 2019-03-08 北京奇虎科技有限公司 A kind of data processing method and device

Similar Documents

Publication Publication Date Title
CN102917074B (en) A kind of method realizing server-side browser and server
CN102932469B (en) Method for achieving client browser and client browser
US8909757B1 (en) Consistent link sharing
US8527862B2 (en) Methods for making ajax web applications bookmarkable and crawlable and devices thereof
US20090037517A1 (en) Method and system to share content between web clients
WO2018001124A1 (en) Webpage file sending method, webpage rendering method and apparatus, and webpage rendering system
US20050066037A1 (en) Browser session mobility system for multi-platform applications
CN102981705B (en) Server-side browser implementation method and server
US20150120804A1 (en) Method and system for capturing web content from a web server
WO2015154666A1 (en) Method for displaying webpage fragment on desktop and system for capturing webpage fragment to desktop for display
US8291032B2 (en) Email system
CN102929489B (en) Client browser implementation method and client browser
JP2016526230A (en) Computer program product, system and method for optimizing web page loading
EP2948866A1 (en) Systems and methods to map page states
US20140006918A1 (en) Method and system for web page rearrangement
US20140157104A1 (en) Dynamic sharing and updating of a web page
WO2015058614A1 (en) Bookmark storage method and device, and method and device for determining bookmark to be browsed
KR101001512B1 (en) System for transmitting/receiving contents connected in link structure in internet page and control method thereof, and browsing apparatus used in the system
WO2014071764A1 (en) Client side browser, server side browser and realization method thereof
JP4391766B2 (en) Browser session mobility system for multi-platform applications
JP4165796B2 (en) Client, data download method, program, and recording medium
JP6806351B1 (en) Information processing methods, computer programs and information processing equipment
WO2014084771A1 (en) Dynamic sharing and updating of a web page
JP6358049B2 (en) Local storage synchronization method, local storage synchronization apparatus, and local storage synchronization program
US20060195544A1 (en) Posting and receiving resources for external applications using a web browser as an agent

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13853800

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13853800

Country of ref document: EP

Kind code of ref document: A1