WO2015052354A1 - Procedimiento y sistema para definir el orden de obtención de recursos web por un navegador web - Google Patents
Procedimiento y sistema para definir el orden de obtención de recursos web por un navegador web Download PDFInfo
- Publication number
- WO2015052354A1 WO2015052354A1 PCT/ES2013/070691 ES2013070691W WO2015052354A1 WO 2015052354 A1 WO2015052354 A1 WO 2015052354A1 ES 2013070691 W ES2013070691 W ES 2013070691W WO 2015052354 A1 WO2015052354 A1 WO 2015052354A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- http request
- http
- web
- priority level
- web browser
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/61—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/561—Adding application-functional data or data for application control, e.g. adding metadata
Definitions
- the present invention relates, in general, to web browsing on the Internet and, more specifically, to a procedure for assigning load priorities to the elements of a web page by rearranging, by means of controlled redirects, the normal order of obtaining resources web, optimizing and improving the browsing experience, without blocking any connection, ntecedente
- Each Internet user accesses web pages through a web browser, which allows users to access content hosted on servers.
- a web browser When a user requests an internet web page, an HTTP request is sent by the browser to an HTTP server, which processes that request.
- the HTTP server returns an HTTP response to the browser, which evaluates the response and begins generating the requested content. Additional web resources, included in the requested web page, imply additional requests to the server, until, eventually, the browser is able to represent the entire web page.
- a web cache offers temporary storage of web documents, such as pages and HTML images. Copies of the documents that go through the web cache are kept and, therefore, new requests can be attended from the cache, instead of the source server.
- the Web cache memories are used in various systems such as search engines, web servers, web applications or web browsers.
- the content from a web page arrives in an order that might not be correct for the device that represents it; A small mobile screen does not represent anything until the end, because it has taken a lot of time to download the content, which cannot be seen because it is outside the visible area.
- Ads specifically from third-party content publishers, take longer to load and block more relevant content (from the point of view of the publisher - and perhaps also the user).
- Blocking content may involve some inconvenience. For example, ad biocheckers could ruin a web page by reducing their income, but, on the other hand, blocking content is significant when, for example, the contents cannot be represented on the requesting device.
- Another class of techniques slows down the server side, by delaying the response of lower priority elements. As already mentioned, these have the problem of keeping browser connections blocked and avoiding parallel downloads, negatively affecting the overall performance.
- the present invention solves the aforementioned problems by presenting a transparent and non-invasive procedure to define the order of obtaining web resources by a web browser.
- the procedure comprises the steps of: a) receiving an HTTP request in an intermediate node, included in a first uniform resource locator, for a web resource sent by a web browser:
- the order of obtaining web resources is controlled according to the natural requirement of current web browsers, which request web resources using a queue, where redirects are inserted at the end of the queue. This condition allows the insertion of redirects in a controlled manner to reorder the normal order of obtaining.
- a request is received at the intermediate node
- the invention may comprise sending the HTTP request to a source server or to a web cache, to obtain the web resource.
- the intermediate node can be configured to imply delays for a set of domains.
- the priority level can be implemented by inserting a string in the HTTP request that encodes a delay with an original host, providing a locator resource uniform that uses an HTTP response code 303,
- the maximum value of the priority level may correspond, according to one embodiment, to a minimum delay, that is, a null delay.
- a null priority corresponds to an infinite delay, which causes an HTTP request to be rejected in the intermediate node.
- Another aspect of the invention relates to a system for defining the order of obtaining web resources by a web browser, where the web browser sends an HTTP request to an HTTP server;
- the system is characterized by an intermediate node, configured to redirect ⁇ HTTP request to the web browser before letting ⁇ HTTP request ⁇ legue to the HTTP server, the intermediate node being configured to: receive an HTTP request, included in a first locator resource uniform, for a web resource, sent by the web browser; - assign a priority level to the HTTP request;
- the inventive system may comprise, according to some embodiments, the intermediate node, additionally configured to receive an HTTP request for a web resource in the intermediate node, with a priority level sent by the web browser; if the priority level is lower than a previously defined maximum value, modify the HTTP request by increasing the priority level; encode the modified HTTP request in a third uniform resource locator; and send the third uniform resource locator as a second HTTP redirection response to the web browser.
- the intermediate node may be additionally configured to implement delays for a set of domains.
- the intermediate node can insert a string in the HTTP request, which encodes a delay according to the priority level and, with an original host, provide a uniform resource locator using an HTTP response code 303.
- the intermediate node is an http proxy-cache server in some embodiments of the invention.
- a final aspect of the invention relates to a computer program product comprising computer program code adapted to perform the method of the invention, when said program code is executed on a computer, a digital signal processor, a formation of programmable doors in the field, an application-specific integrated circuit, a micro-processor, a micro-controller or any other form of programmable hardware.
- the invention applies to all Internet web pages, without restricting the type of content they provide.
- it is transparent because there is no need for the provider to design the website in any special way, and the content is not transformed at all.
- Such transparency also provides a direct advantage over alternative solutions of the state of the art, because no agreement with owners or content providers is required.
- the inactivity of the connections is minimized by the present invention, in comparison with any standard technique based on the slowdown, while the actual downloading or obtaining of the content is rearranged.
- the proposed invention is dynamic: the order of the delay levels can be changed over time, either using an automatic system or by human intervention.
- Figure 1 shows a block diagram of the interaction between a web browser and a proxy, according to an embodiment of the invention.
- the invention describes a process for assigning, in general terms, loading priorities or obtaining all the elements of a web page.
- the prioritization is achieved by means of a system consisting of an http proxy, flexible enough to be configured to implement arbitrary delays in access to a set of domains. But not just any delay procedure would work; for example, a delay in the proxy response would block all remaining content and waste a browser connection.
- An embodiment, suitable for browsers, of how to use a delay method of the proposed invention is presented below.
- the present invention is based on an intermediate node which, according to one embodiment, is implemented as an http proxy-web cache server, flexible as to intercept all connections or requests sent by a web browser to a source server.
- This http proxy server-web cache is capable of dividing incoming requests into sets, only according to the top of a "host" header ( ⁇ bttp header ⁇ beloved 'host'), These sets correspond to the levels Delay required (a set for no delay, a set for a first delay level, a set for two delay levels, and so on).
- a path in English path is a way of referencing a computer file, directory or web resource.
- the path indicates the exact location of the file, directory or web resource by means of a specific character string, which is usually made up of the names of the directories that make up the path to the searched resource. These names will be separated by a delimiter character that is usually " ⁇ " on MS-DOS / Windows (Microsoft) systems or "i" on UNIX / Linux systems.
- the actions required by the present embodiments of the invention consist of a quick selection from the value of the route; respond with an http redirection (303 http response codes) with a dynamic ocaüzaissus header value that depends on the route of the incoming request; let a request pass and sent, with a modification of the route to the origin specified by the header value of the "host".
- a delay level is set according to a priority level assigned using the configuration. This level of delay is encoded in a new uniform resource locator (url) that is sent as an http redirection response to the web browser.
- url uniform resource locator
- the original route is also encoded within the new url. From esié punió, all requests referred to the original will arrive with that coding that contains both the level of delay and the original route.
- the web proxy http-cache server When the web proxy http-cache server receives an encrypted request (it already includes an http request plus an encrypted priority level as a delay level), it decodes both the route and the delay level. If the level is zero, the request is sent to its origin server, or its response is taken from the cache storage, and answered in a standard way. Otherwise, the priority level is increased (resulting in a decreased delay level), a new redirection is coded, with the original route and the new delay level, and sent to the browser.
- the procedure proposed by an embodiment of the present invention to construct redirects consists in inserting, at the beginning of the request route, a chain that encodes the delay level.
- the basic interaction between the browser and the proxy of said embodiment is schematically explained in Figure 1, where a transparent coding procedure is shown.
- the proxy parses that request and looks for a redirection (4). If the request comes to the proxy for the first time, then a delay level is assigned according to the priority set during configuration.
- An HTTP redirection response is constructed (6) and sent (7) back to the web browser, where the response can be processed (8) directly to capture the requested web resource, or it can be queued (9) as the rest of the redirects.
- a delay redirection (10) of the next level is constructed. If now the delay level is not the last level (1 1), the next stage is already sending the response (7) to the web browser, as explained above. But if the level was effectively the last level, which is a null delay for this realization, but that can be implemented to be any other value, the next step is to send an HTTP request to the source server, or extract its response from the web cache (12) and, finally, once the response is ready (13) (either from an origin or from the cache), it is sent to the browser (7),
- Request redirection avoids manipulating anything other than the uri of the redirection destination, which contains the host and the route of the new request. If the hosts were also manipulated, they would cause collisions with some other hosts on the Internet, so manipulating only the route is the most appropriate non-invasive way.
- the technique could consist of any manipulation of the route that, in some way, can be reversed very quickly.
- a simple and convenient way is to insert a prefix. For example, for a request with a requested route / route. html, the web browser is redirected to /retardo-nivei-3/route-solicited.html, using the 303 response code Http, and providing the url specified with the original host.
- the proxy acts as follows: for a zero delay, the request is searched in the cache; if there is a coincidence, then it is served; otherwise, it is diverted to the source server;
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Library & Information Science (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP13895250.2A EP3057274A4 (en) | 2013-10-07 | 2013-10-07 | Method and system for defining the order in which web resources are obtained by a web browser |
PCT/ES2013/070691 WO2015052354A1 (es) | 2013-10-07 | 2013-10-07 | Procedimiento y sistema para definir el orden de obtención de recursos web por un navegador web |
BR112016007657A BR112016007657A2 (pt) | 2013-10-07 | 2013-10-07 | ?procedimento e sistema para definir a ordem de obtenção de recursos web por um navegador web? |
US15/027,635 US20160261714A1 (en) | 2013-10-07 | 2013-10-07 | Method and System for Defining the Order in Which Web Resources are Obtained by a Web Browser |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/ES2013/070691 WO2015052354A1 (es) | 2013-10-07 | 2013-10-07 | Procedimiento y sistema para definir el orden de obtención de recursos web por un navegador web |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015052354A1 true WO2015052354A1 (es) | 2015-04-16 |
Family
ID=52812543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/ES2013/070691 WO2015052354A1 (es) | 2013-10-07 | 2013-10-07 | Procedimiento y sistema para definir el orden de obtención de recursos web por un navegador web |
Country Status (4)
Country | Link |
---|---|
US (1) | US20160261714A1 (es) |
EP (1) | EP3057274A4 (es) |
BR (1) | BR112016007657A2 (es) |
WO (1) | WO2015052354A1 (es) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106550001A (zh) * | 2015-09-23 | 2017-03-29 | 中兴通讯股份有限公司 | 一种重定向的方法及装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102151457B1 (ko) * | 2014-08-25 | 2020-09-03 | 삼성전자 주식회사 | 통신 시스템에서 페이지 로딩 시간 단축 방법 및 장치 |
US20180063220A1 (en) * | 2016-08-30 | 2018-03-01 | Citrix Systems, Inc. | Systems and methods to provide hypertext transfer protocol 2.0 optimization through multiple links |
US11159642B2 (en) * | 2019-07-19 | 2021-10-26 | Cloudflare, Inc. | Site and page specific resource prioritization |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6742016B1 (en) | 2000-03-24 | 2004-05-25 | Hewlett-Packard Devolpment Company, L.P. | Request acceptor for a network application system and a method thereof |
ES2257543T3 (es) * | 2002-04-05 | 2006-08-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Control de transferencia de objeto en una red de comunicaciones. |
US20070263650A1 (en) * | 2006-05-09 | 2007-11-15 | Srivatsa Sivan Subramania | Method for prioritizing web service requests |
US20120023190A1 (en) * | 2010-07-26 | 2012-01-26 | Ari Backholm | Mobile network traffic coordination across multiple applications |
US8112471B2 (en) | 2009-12-07 | 2012-02-07 | Yottaa, Inc | System and method for website performance optimization and internet traffic processing |
US20130227078A1 (en) * | 2012-02-23 | 2013-08-29 | Coach Wei | System and method for context specific website optimization |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10296653B2 (en) * | 2010-09-07 | 2019-05-21 | F5 Networks, Inc. | Systems and methods for accelerating web page loading |
-
2013
- 2013-10-07 US US15/027,635 patent/US20160261714A1/en not_active Abandoned
- 2013-10-07 EP EP13895250.2A patent/EP3057274A4/en not_active Withdrawn
- 2013-10-07 WO PCT/ES2013/070691 patent/WO2015052354A1/es active Application Filing
- 2013-10-07 BR BR112016007657A patent/BR112016007657A2/pt not_active IP Right Cessation
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6742016B1 (en) | 2000-03-24 | 2004-05-25 | Hewlett-Packard Devolpment Company, L.P. | Request acceptor for a network application system and a method thereof |
ES2257543T3 (es) * | 2002-04-05 | 2006-08-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Control de transferencia de objeto en una red de comunicaciones. |
US20070263650A1 (en) * | 2006-05-09 | 2007-11-15 | Srivatsa Sivan Subramania | Method for prioritizing web service requests |
US8112471B2 (en) | 2009-12-07 | 2012-02-07 | Yottaa, Inc | System and method for website performance optimization and internet traffic processing |
US20120023190A1 (en) * | 2010-07-26 | 2012-01-26 | Ari Backholm | Mobile network traffic coordination across multiple applications |
US20130227078A1 (en) * | 2012-02-23 | 2013-08-29 | Coach Wei | System and method for context specific website optimization |
Non-Patent Citations (3)
Title |
---|
See also references of EP3057274A4 |
WIKIPEDIA: "Aging (scheduling).", 29 November 2012 (2012-11-29), XP055302841, Retrieved from the Internet <URL:http://in.wikipedia.org/w/index.php?title=Aging (scheduling)&oldid=52552369 >> [retrieved on 20140528] * |
WIKIPEDIA: "HTTP 302.", 9 September 2013 (2013-09-09), XP055302836, Retrieved from the Internet <URL:http://in.wikipedia.org/w/index.php?title=HTTP_ 302&oldid=572216531> [retrieved on 20140528] * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106550001A (zh) * | 2015-09-23 | 2017-03-29 | 中兴通讯股份有限公司 | 一种重定向的方法及装置 |
CN106550001B (zh) * | 2015-09-23 | 2021-02-23 | 中兴通讯股份有限公司 | 一种重定向的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
BR112016007657A2 (pt) | 2017-08-01 |
US20160261714A1 (en) | 2016-09-08 |
EP3057274A4 (en) | 2017-05-10 |
EP3057274A1 (en) | 2016-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9602613B2 (en) | Method and system for accelerating browsing sessions | |
Grigorik | Making the web faster with HTTP 2.0 | |
ES2257543T3 (es) | Control de transferencia de objeto en una red de comunicaciones. | |
JP7018498B2 (ja) | プロキシベースのネットワーク通信における制御データのトランスポート | |
US9325785B2 (en) | Device, system, and method for client-governed session persistency between one or more clients and servers of a data center | |
US9998521B2 (en) | HTML streaming | |
US9521184B2 (en) | Efficient storage and retrieval of resources for rendering structured documents | |
ES2502526T3 (es) | Optimización de memoria caché | |
ES2394078T3 (es) | Método y aparato para proporcionar un canal de datos de Internet de terceras partes | |
WO2015052354A1 (es) | Procedimiento y sistema para definir el orden de obtención de recursos web por un navegador web | |
Smith | Professional website performance: optimizing the front-end and back-end | |
ES2623299T3 (es) | Transmisión por secuencias de red autónoma | |
EP3253026A1 (en) | Cdn-based access control method and relevant device | |
US11115498B2 (en) | Multi-path management | |
Oku et al. | Extensible prioritization scheme for http | |
US10148735B1 (en) | Application layer load balancer | |
EP1987439A2 (en) | Storing and retrieving user context data | |
US8627467B2 (en) | System and method for selectively storing web objects in a cache memory based on policy decisions | |
US10567541B2 (en) | Network communication system and method with web push protocol | |
ES2652558T3 (es) | Método para red de protocolo de transferencia de hipertexto y pasarela de red de banda ancha | |
WO2015052355A1 (es) | Procedimiento y sistema para configurar una memoria caché web para procesar peticiones | |
CN108509243A (zh) | 一种应用中的页面加载的方法、装置及电子设备 | |
ES2328998B2 (es) | Metodo de reduccion del tiempo de descarga de paginas web. | |
WO2015002525A1 (en) | A system and method for synchronizing of cache remotely with pre-fetching of non-protected contents and protected contents | |
ES2377764T3 (es) | Sistema de distribución de ficheros |
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: 13895250 Country of ref document: EP Kind code of ref document: A1 |
|
DPE1 | Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: 15027635 Country of ref document: US Ref document number: 000468-2016 Country of ref document: PE |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
REEP | Request for entry into the european phase |
Ref document number: 2013895250 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2013895250 Country of ref document: EP |
|
REG | Reference to national code |
Ref country code: BR Ref legal event code: B01A Ref document number: 112016007657 Country of ref document: BR |
|
ENP | Entry into the national phase |
Ref document number: 112016007657 Country of ref document: BR Kind code of ref document: A2 Effective date: 20160406 |