IP Library Granted Patent US 9,697,188
Granted Patent B2
US 9,697,188 · App. 14/081,905 · Granted Jul 4, 2017

Method to enable cross-origin resource sharing from a webpage inside a private network

Inventors: Hariharan Kolam (Sunnyvale, CA); Brian Kennedy (Mountain View, CA)
Assignee: Instart Logic, Inc.
G06F17/2247G06F9/54G06F17/3089G06F21/53H04L29/06619H04L29/08072H04L67/02H04L67/2814
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,697,188
App. No.
14/081,905
Granted
Jul 4, 2017
Kind
B2
Abstract

A method of delivering content of a webpage to a web browser on a device communicating with a network through a proxy server includes embedding a first nested browsing context in a parent browsing context of the web browser where the parent browsing context is associated with a first domain and the first nested browsing context is associated with a second domain; sending a request for content from the first nested browsing context to the second domain through the proxy server; and receiving at the first nested browsing context the content from the second domain.

Claims (58)

1. A method of delivering content of a webpage to a web browser on a device communicating with a network through a proxy server, comprising:

providing on the web browser a parent browsing context associated with a first domain, the web browser communicating with the network through the proxy server;

sending a cross-origin resource sharing (CORS) request for content from the parent browsing context to a second domain through the proxy server to request content from the second domain;

in response to the parent browsing context failing to receive the content from the CORS request, embedding a first nested browsing context in the parent browsing context of the web browser, the first nested browsing context being associated with the second domain;

sending a same-origin request for content from the first nested browsing context to the second domain through the proxy server, wherein the content requested from the same-origin request is the same as the content requested from the CORS request; and

receiving at the first nested browsing context the content from the second domain.

2. The method of claim 1 , wherein embedding a first nested browsing context in a parent browsing context of the web browser comprises:

embedding an inline frame as the first nested browsing context in the parent browsing context of the web browser, the parent browsing context being associated with the first domain and the inline frame being associated with the second domain.

3. The method of claim 1 , further comprising:

receiving at the parent browsing context a response from the second domain through the proxy server;

determining that the response does not include an access-control-allow-origin header in response to the CORS request; and

embedding, based at least in part on the determining, the first nested browsing context in the parent browsing context of the web browser and sending the same-origin request for content from the first nested browsing context to the second domain through the proxy server.

4. The method of claim 3 , further comprising:

determining that the response includes an access-control-allow-origin header in response to the CORS request being authorized; and

receiving, based at least in part on the determining that the response includes the access-control-allow-origin header, content from the second domain at the parent browsing context of the web browser.

5. The method of claim 1 , further comprising:

in response to the request for content from the first nested browsing context to the second domain through the proxy server, receiving at the first nested browsing context a response from the second domain through the proxy server;

determining from the response that the first domain is a permitted origin domain on the second domain; and

receiving, based at least in part on the determining that the first domain is a permitted origin domain, at the first nested browsing context the content from the second domain.

6. The method of claim 5 , further comprising:

determining from the response that the first domain is not a permitted origin domain on the second domain; and

denying, based at least in part on the determining that the second domain is not a permitted origin domain, the first nested browsing context from accessing resources on the second domain.

7. The method of claim 1 , further comprising:

embedding a plurality of nested browsing contexts in a parent browsing context of the web browser, the parent browsing context being associated with a first domain and each of the plurality of nested browsing contexts being associated with a domain different from the first domain;

sending a request for content from a first one of the plurality of nested browsing contexts to a third domain through the proxy server; and

receiving at the first one of the plurality of nested browsing contexts the content from the third domain.

8. A system for delivering content of a webpage to a web browser on a device communicating with a network through a proxy server, comprising:

a processor configured to:

provide on the web browser a parent browsing context associated with a first domain, the web browser communicating with the network through the proxy server;

send a request for content from the parent browsing context to a second domain through the proxy server to request content from the second domain;

in response to the parent browsing context failing to receive the content from the CORS request, embed a first nested browsing context in the parent browsing context of the web browser, the first nested browsing context being associated with the second domain;

send a same-origin request for content from the first nested browsing context to the second domain through the proxy server, wherein the content requested from the same-origin request is the same as the content requested from the CORS request; and

receive at the first nested browsing context the content from the second domain; and

a memory coupled to the processor and configured to provide the processor with instructions.

9. The system of claim 8 , wherein the memory is further configured to provide the processor with instructions which when executed cause the processor to:

receive at the parent browsing context a response from the second domain through the proxy server;

determine that the response does not include an access-control-allow-origin header in response to the CORS request; and

embed, based at least in part on the determining, the first nested browsing context in the parent browsing context of the web browser and send the same-origin request for content from the first nested browsing context to the second domain through the proxy server.

10. The system of claim 9 , wherein the memory is further configured to provide the processor with instructions which when executed cause the processor to:

determine that the response includes an access-control-allow-origin header in response to the CORS request being authorized; and

receive, based at least in part on the determining that the response includes the access-control-allow-origin header, content from the second domain at the parent browsing context of the web browser.

11. The system of claim 8 , wherein the memory is further configured to provide the processor with instructions which when executed cause the processor to:

in response to the request for content from the first nested browsing context to the second domain through the proxy server, receive at the first nested browsing context a response from the second domain through the proxy server;

determine from the response that the first domain is a permitted origin domain on the second domain; and

receive, based at least in part on the determining that the first domain is a permitted origin domain, at the first nested browsing context the content from the second domain.

12. The system of claim 11 , wherein the memory is further configured to provide the processor with instructions which when executed cause the processor to:

determine from the response that the first domain is not a permitted origin domain on the second domain; and

deny, based at least in part on the determining that the second domain is not a permitted origin domain, the first nested browsing context from accessing resources on the second domain.

13. A computer program product for delivering content of a webpage to a web browser on a device communicating with a network through a proxy server, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

providing on the web browser a parent browsing context associated with a first domain, the web browser communicating with the network through the proxy server;

sending a request for content from the parent browsing context to a second domain through the proxy server to request content from the second domain;

in response to the parent browsing context failing to receive the content from the CORS request, embedding a first nested browsing context in the parent browsing context of the web browser, the first nested browsing context being associated with the second domain;

sending a same-origin request for content from the first nested browsing context to the second domain through the proxy server, wherein the content requested from the same-origin request is the same as the content requested from the CORS request; and

receiving at the first nested browsing context the content from the second domain.

14. The computer program product recited in claim 13 , further comprising computer instructions for:

in response to the request for content from the first nested browsing context to the second domain through the proxy server, receiving at the first nested browsing context a response from the second domain through the proxy server;

determining from the response that the first domain is a permitted origin domain on the second domain; and

receiving, based at least in part on the determining that the first domain is a permitted origin domain, at the first nested browsing context the content from the second domain.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2020
From: INSTART LOGIC, INC.
To: AKAMAI TECHNOLOGIES, INC.
Reel/Frame 052121/0335 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2014
From: KOLAM, HARIHARAN; KENNEDY, BRIAN
To: INSTART LOGIC, INC.
Reel/Frame 032125/0589 →
Continuity (1)
Related Publication 20150143223A1 · May 21, 2015