Accelerating HTTP responses in a client/server environment
First Claim
1. A computer-implemented method for presenting content in a client/server environment, comprising:
- at a proxy device communicatively connected to a client and a server via a communications network, performing the steps of;
receiving, from the client, a request for content;
generating, based on the received request, a list of links to resources associated with the requested content;
transmitting, to the client, a first response including at least an HTTP header, wherein the HTTP header includes the list of links to resources associated with the requested content; and
transmitting the content request to the server, wherein transmitting the first response including the list of links to resources, to the client, is performed prior to receiving, from the server, a second response comprising the requested content, wherein the first response is separated from the second response thereby enabling the client to obtain resources specified in the list of links while the server concurrently composes the second response including the requested content.
5 Assignments
0 Petitions
Accused Products
Abstract
HTTP responses are accelerated to optimize performance and response time when presenting content in a client/server environment. An optimization technique allows a client to begin requesting additional resources and/or rendering content before the entire response is completed on the server. When a request is received at a proxy device, the proxy device transmits, to the client, links to external resources that will be needed to render the page. This allows the client to begin obtaining external resources before the remaining content is sent to the client, and even before the content has been fully composed by the server, thus improving response time and overall performance.
-
Citations
59 Claims
-
1. A computer-implemented method for presenting content in a client/server environment, comprising:
-
at a proxy device communicatively connected to a client and a server via a communications network, performing the steps of; receiving, from the client, a request for content; generating, based on the received request, a list of links to resources associated with the requested content; transmitting, to the client, a first response including at least an HTTP header, wherein the HTTP header includes the list of links to resources associated with the requested content; and transmitting the content request to the server, wherein transmitting the first response including the list of links to resources, to the client, is performed prior to receiving, from the server, a second response comprising the requested content, wherein the first response is separated from the second response thereby enabling the client to obtain resources specified in the list of links while the server concurrently composes the second response including the requested content. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A computer-implemented method for presenting content in a client/server environment, comprising:
-
at an edge accelerator proxy device located at an edge node of a communications network and communicatively connected to a client, performing the steps of; receiving, from the client, a request for content; generating, based on the received request, a list of links to resources associated with the requested content; transmitting, to the client, a first response including at least an HTTP header, wherein the HTTP header includes the list of links to resources associated with the requested content; and transmitting the content request to a second proxy device; at the second proxy device, transmitting the content request to a server, wherein transmitting the first response including the list of links to resources, to the client, is performed prior to receiving, from the server, a second response comprising the requested content, wherein the first response is separated from the second response thereby enabling the client to obtain resources specified in the list of links while the server concurrently composes a response including the requested content. - View Dependent Claims (24, 25, 26, 27, 28, 29)
-
-
30. A computer program product for presenting content in a client/server environment, comprising:
-
a nontransitory computer-readable storage medium; and computer program code, encoded on the medium, configured to cause at least one processor at a proxy device communicatively connected to a client and a server via a communications network to perform the steps of; receiving, from the client, a request for content; generating, based on the received request, a list of links to resources associated with the requested content; transmitting, to the client, a first response including at least an HTTP header, wherein the HTTP header includes the list of links to resources associated with the requested content; and transmitting the content request to the server, wherein transmitting the first response including the list of links to resources, to the client, is performed prior to receiving, from the server, a second response comprising the requested content, wherein the first response is separated from the second response thereby enabling the client to obtain resources specified in the list of links while the server concurrently composes the second response including the requested content. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37)
-
-
38. A system for presenting content in a client/server environment, comprising:
-
a client, configured to transmit a content request via a communications network; a server, configured to receive a content request via the communications network; and a proxy device, communicatively connected to the client and to the server via the communications network, configured to; receive, from the client, a request for content; generate, based on the received request a list of links to resources associated with the requested content; transmit, to the client a first response including an HTTP header, wherein the HTTP header includes the list of links to resources to the client; and transmit the content request to the server, wherein transmitting the list of links to resources, to the client, is performed prior to receiving, from the server, a second response comprising the requested content, wherein the first response is separated from the second response thereby enabling the client to obtain resources specified in the list of links while the server concurrently composes a response including the requested content. - View Dependent Claims (39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54)
-
-
55. A system for presenting content in a client/server environment, comprising:
-
a client, configured to transmit a content request via a communications network; a server, configured to receive a content request via the communications network; an edge accelerator proxy device located at an edge node of the communications network and communicatively coupled to the client; and a second proxy device, communicatively connected to the edge accelerator proxy device; wherein the edge accelerator proxy device is configured to; receive, from the client, a request for content; generate, based on the received request, a list of links to resources associated with the requested content; transmit, to the client, a first response including an HTTP header, wherein the HTTP header includes the list of links to resources; and transmit the content request to a second proxy device; and wherein the second proxy device is configured to transmit the content request to the server, wherein transmitting the list of links to resources, to the client, is performed prior to receiving, from the server, the response comprising the requested content, thereby enabling the client to obtain resources specified in the list of links while the server concurrently composes a response including the requested content. - View Dependent Claims (56, 57, 58, 59)
-
Specification