Restricted environments for message generation in networked environments
Systems and methods described herein can provide a restricted environment for the local execution of server provided processor-executable instructions. The restricted environment can be maintained by a web browser to enable sandboxed generation of content requests by the web browser during the rendering of web pages. The restricted environment can enable the web browser to control the generation and transmission of content requests.
1 . A method to exchange data in a networked system, comprising:
storing, by a web browser executed by a client device, a client device profile comprising a plurality of client device parameters and processor-executable instructions to generate a content request in a restricted environment, within the client device, generated to restrict access, by the client device, to a particular content server;
detecting, within a web page being rendered at the client device, a content slot having executable instructions to create a content request to obtain content from the particular content server;
transmitting, by the web browser and in response to detecting the content slot, a content item parameter to the restricted environment within the client device prior to the client device requesting content from the particular content server;
generating, within the restricted environment and prior to the client device requesting content from the particular content server, a parameter list based on the client device profile and the content item parameter;
transmitting, by the restricted environment, the parameter list to a proxy server instead of the particular content server; and
receiving, by the client device and in response to transmitting the parameter list to the proxy server, a content item from the particular content server to render in the content slot of the web page based on the proxy server determining an aggregate value of at least one parameter in the parameter list satisfies a predetermined threshold.
2 . The method of claim 1 , further comprising generating, by the web browser, a plurality of restricted environments, each of the plurality of restricted environments comprising a respective client device profile and a respective set of processor-executable instructions to generate the content request, wherein each of the plurality of restricted environments are associated with a different content server.
3 . The method of claim 1 , further comprising:
identifying, by the web browser, a content server associated with the content slot of the web page; and
selecting, by the web browser, the restricted environment from a plurality of restricted environments based on an identification of the content server associated with the content slot of the web page.
4 . The method of claim 1 , wherein the content item parameter comprises at least one of an identifier of the content slot, a request identifier, a base resource uniform resource locator (URL), or a URL of the web page.
5 . The method of claim 1 , further comprising:
receiving, by the web browser, a second web page comprising a second set of processor-executable instructions to generate the content request, wherein the second set of processor-executable instructions are provided by the content server; and
updating, by the web browser, the processor-executable instructions stored in the restricted environment based on the second set of processor-executable instructions.
6 . The method of claim 1 , further comprising:
transmitting, by the web browser, a second content item parameter to the restricted environment based on the web browser receiving a second web page;
generating, by the web browser executing the processor-executable instructions stored in the restricted environment, a second parameter list based on the client device profile and the second content item parameter;
transmitting, by the web browser, the second parameter list to the proxy server; and
receiving, by the web browser, a generic content item to render in a content slot of the second web page based on the proxy server determining a second aggregate value of at least one parameter in the second parameter list does not satisfy the predetermined threshold.
7 . The method of claim 1 , further comprising selecting a portion of client device parameters to include in the parameter list to satisfy the predetermined threshold.
8 . The method of claim 1 , wherein the content item is selected based on at least one of the parameters in the parameter list.
9 . The method of claim 1 , wherein parameters of the parameter list are configured based upon a frequency of occurrence of the parameters.
10 . The method of claim 1 , wherein receiving the content item comprises receiving the content item from the proxy server responsive to the proxy server receiving the content item from the content server.
11 . The method of claim 1 , wherein transmitting the parameter list to the proxy server further comprises:
encoding the parameter list as URL parameters;
generating a request URL by concatenating the URL parameters to a base URL included in the content item parameter; and
transmitting the request URL to the proxy server.
12 . A system to exchange data in a networked system, comprising:
one or more computing devices; and
one or more storage devices coupled with the one or more computing devices and storing instructions that, when executed by the one or more computing devices, cause the one or more computing devices to perform operations comprising:
storing, in a restricted environment, a client device profile comprising a plurality of client device parameters and processor-executable instructions to generate a content request in a restricted environment, within a client device, generated to restrict access, by the client device, to a particular content server;
detecting, within a web page being rendered at the client device, a content slot having executable instructions to create a content request to obtain content from the particular content server;
transmitting, by a web browser and in response to detecting the content slot, a content item parameter to the restricted environment within the client device prior to the client device requesting content from the particular content server;
generating, within the restricted environment and prior to the client device requesting content from the particular content server, a parameter list based on the client device profile and the content item parameter;
transmitting the parameter list from the restricted environment to a proxy server instead of the particular content server; and
receiving, in response to transmitting the parameter list to the proxy server, a content item from the particular content server to render in the content slot of the web page based on the proxy server determining an aggregate value of at least one parameter in the parameter list satisfies a predetermined threshold.
13 . The system of claim 12 , wherein the instructions cause the one or more computing devices to perform operations further comprising generating a plurality of restricted environments, each of the plurality of restricted environments comprising a respective client device profile and a respective set of processor-executable instructions to generate the content request, wherein each of the plurality of restricted environments are associated with a different content server.
14 . The system of claim 12 , wherein the instructions cause the one or more computing devices to perform operations further comprising:
identifying a content server associated with the content slot of the web page;
and selecting the restricted environment from a plurality of restricted environments based on an identification of the content server associated with the content slot of the web page.
15 . The system of claim 12 wherein the content item parameter comprises at least one of an identifier of the content slot, a request identifier, a base resource URL, or a URL of the web page.
16 . The system of claim 12 , wherein the instructions cause the one or more computing devices to perform operations further comprising:
receiving a second web page comprising a second set of processor-executable instructions to generate the content request, wherein the second set of processor-executable instructions are provided by the content server; and
updating the processor-executable instructions stored in the restricted environment based on the second set of processor-executable instructions.
17 . The system of claim 12 , wherein the instructions cause the one or more computing devices to perform operations further comprising:
transmitting a second content item parameter to the restricted environment based on the web browser receiving a second web page;
generating, by executing the processor-executable instructions stored in the restricted environment, a second parameter list based on the client device profile and the second content item parameter;
transmitting the second parameter list to the proxy server; and
receiving a generic content item to render in a content slot of the second web page based on the proxy server determining a second aggregate value of at least one parameter in the second parameter list does not satisfy the predetermined threshold.
18 . The system of claim 12 , wherein the instructions cause the one or more computing devices to perform operations further comprising selecting a portion of client device parameters to include in the parameter list to satisfy the predetermined threshold.
19 . The system of claim 12 , wherein the content item is selected based on at least one of the parameters in the parameter list.
20 . The system of claim 12 , wherein parameters of the parameter list are configured based upon a frequency of occurrence of the parameters.
21 . The system of claim 12 , wherein the instructions cause the one or more computing devices to perform operations further comprising receiving the content item from the proxy server responsive to the proxy server receiving the content item from the content server.
22 . The system of claim 12 , wherein the instructions cause the one or more computing device to perform operations further comprising encoding the parameter list as URL parameters;
generating a request URL by concatenating the URL parameters to a base URL included in the content item parameter; and
transmitting the request URL to the proxy server.