Reverse ProXy accelerator
Project description
==============
1. What it is
==============
RPX is useful when you have a mostly static website, but on a slow server
platform.
For instance, a public website with content handled by a full-fledged CMS like
Plone.
It works a bit like a real proxy, but it is NOT a real proxy. It violates many
aspects of many RFC : it will totally ignore HTTP headers about aging,
expiration and caching of web pages and other HTTP content.
===============================
2. How it works (the big plan)
===============================
2.1 A normal reverse proxy works like this :
-------------------------------------------
- client sends HTTP request to server
- the HTTP request is actually intercepted by the reverse proxy
- if the proxy has the requested content, and the content is not outdated, then
it will return the content
- else, the proxy retrieves the content from the real server, and stores it on
disk if possible (if it is not a dynamic content for instance)
2.2 RPX works like this :
------------------------
- client sends HTTP request to server
- the HTTP request is also intercepted, but in a different way (it is just an
implementation detail, not very important)
- if the proxy has the requested content, it serves it right away (without
taking care of aging, expiry, etc.)
- the proxy writes all accesses in a separate log (a bit like the Apache
access.log file)
- a separate process parses the log on-the-fly, and for each parsed request,
if the content in the proxy cache is missing or outdated, it will download it
from the server, and put it in the proxy cache
=========================================
3. How it works (implementation details)
=========================================
The proxy itself is just Apache with an appropriate configuration.
The proxy cache is stored into a local directory (and served as static files
by Apache).
When a request must go to the real server, it will use mod_rewrite and mod_proxy.
The separate process (responsible of refreshing the content cache) is a small
and simple Python script.
==========================
4. Installation and Setup
==========================
See Docs/README
1. What it is
==============
RPX is useful when you have a mostly static website, but on a slow server
platform.
For instance, a public website with content handled by a full-fledged CMS like
Plone.
It works a bit like a real proxy, but it is NOT a real proxy. It violates many
aspects of many RFC : it will totally ignore HTTP headers about aging,
expiration and caching of web pages and other HTTP content.
===============================
2. How it works (the big plan)
===============================
2.1 A normal reverse proxy works like this :
-------------------------------------------
- client sends HTTP request to server
- the HTTP request is actually intercepted by the reverse proxy
- if the proxy has the requested content, and the content is not outdated, then
it will return the content
- else, the proxy retrieves the content from the real server, and stores it on
disk if possible (if it is not a dynamic content for instance)
2.2 RPX works like this :
------------------------
- client sends HTTP request to server
- the HTTP request is also intercepted, but in a different way (it is just an
implementation detail, not very important)
- if the proxy has the requested content, it serves it right away (without
taking care of aging, expiry, etc.)
- the proxy writes all accesses in a separate log (a bit like the Apache
access.log file)
- a separate process parses the log on-the-fly, and for each parsed request,
if the content in the proxy cache is missing or outdated, it will download it
from the server, and put it in the proxy cache
=========================================
3. How it works (implementation details)
=========================================
The proxy itself is just Apache with an appropriate configuration.
The proxy cache is stored into a local directory (and served as static files
by Apache).
When a request must go to the real server, it will use mod_rewrite and mod_proxy.
The separate process (responsible of refreshing the content cache) is a small
and simple Python script.
==========================
4. Installation and Setup
==========================
See Docs/README
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
RPX-1.0.tar.gz
(17.4 kB
view hashes)