Pre-fetching Web Proxy for AJAX Response Speed
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current caching and pre-fetching web proxies are ineffective in speeding up page loading times for modern web applications that use Asynchronous JavaScript and XML (AJAX), as they cannot handle user-specific and short-lived HTTP requests efficiently, and struggle to identify which requests to pre-fetch.
Innovation Solution
A pre-fetching web proxy system configured with site-specific configuration files that automatically generate and cache user-specific HTTP requests, allowing for advanced pre-fetching of resources based on user-specific data, including cookies and other identifying information, and prioritizing requests for optimized Quality of Service management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If a caching web proxy server is used to speed up page loading times, then cached pages can be served more quickly, but user-specific and short-lived HTTP requests (such as AJAX requests) cannot be effectively cached or pre-fetched
Solution Approach 1:
The system performs preliminary actions by analyzing the current page content and proactively pre-fetching resources that are likely to be needed next. The pre-fetching web proxy server identifies potential future requests based on the current page state and retrieves them in advance, storing them in the cache before they are actually needed. This preliminary action resolves the contradiction by preparing user-specific content ahead of time without waiting for actual requests.
Solution Approach 2:
The system dynamically adapts its pre-fetching behavior based on the current page content, user context, and predicted future needs. Rather than using static caching rules, the proxy server continuously analyzes page state and adjusts which resources to pre-fetch. This dynamic approach enables effective handling of user-specific requests while maintaining caching benefits.
2Loss of time
If traditional pre-fetching methods are used to identify next pages to pre-fetch, then subsequent requests can be served from cache, but these methods cannot identify which AJAX requests to pre-fetch
Solution Approach 1:
The system uses feedback mechanisms by analyzing the current page content, including AJAX requests and their responses, to learn which resources are likely to be needed next. The proxy server monitors page state changes and uses this feedback to intelligently predict and pre-fetch future AJAX requests. This feedback loop resolves the difficulty of identifying pre-fetch requests by continuously learning from actual page behavior.
Solution Approach 2:
The pre-fetching system serves itself by automatically analyzing page content and generating pre-fetch requests without manual intervention. The proxy server extracts information from the current page state, identifies potential future AJAX requests, and initiates pre-fetching autonomously. This self-service capability eliminates the need for manual configuration of which requests to pre-fetch.
3Productivity
If a pre-fetching web proxy server is configured with user-specific data including cookies, then user-specific content can be pre-fetched, but the system complexity increases
Solution Approach 1:
The pre-fetching web proxy server performs multiple functions: it acts as a standard caching proxy, analyzes page content, predicts future requests, manages user-specific data including cookies, and handles encrypted communications. By consolidating these diverse functions into a single multi-functional system, the patent manages complexity while achieving high productivity through effective user-specific pre-fetching.
Data Source
Figure 1~2
Figure 3
Figure 4
AI summary
The invention relates to a method and system to pre-fetch user specific HTTP requests for web applications. A method for configuring a pre-fetching web proxy server comprises the steps of writing a pre-fetching configuration file for a specific website, uploading the pre-fetching configuration file to the pre-fetching web proxy server, and using the pre-fetching configuration file by the web proxy server when receiving a request for a specific host, wherein the web proxy server identifies whether further requests should be done for pre-fetching. Further described is a method for handling a HTTP request by using a pre-fetching web proxy server configured in this way. The system comprises a client computer, a pre-fetching web proxy server, a web server wherein the web proxy comprises a cache and a configuration file storage.