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 details)
File details
Details for the file RPX-1.0.tar.gz
.
File metadata
- Download URL: RPX-1.0.tar.gz
- Upload date:
- Size: 17.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 390874b0e5a7cfa234b0623915fd696d04d65336fe7a1543aff9add9729a7d5a |
|
MD5 | e313dd4825aedc93ffdf392220c20b7a |
|
BLAKE2b-256 | 3924affcb27de3409a3ee6e6c28fe4f20affbdfe94d463954a78e60381ec4e6a |