Custom response codes and content-types for memcache module

Igor Sysoev is at rambler-co.ru
Tue Jul 22 15:16:54 MSD 2008


On Tue, Jul 22, 2008 at 02:18:50PM +0400, Maxim Dounin wrote:

> On Tue, Jul 22, 2008 at 11:50:51AM +0200, M. Van der klip wrote:
> 
> >Hi,
> >
> >I have recently written a patch which allows storage of custom HTTP
> >response codes and Content-type headers within memcache alongside the
> >actual response body. This allows us to pass the not_found's of the
> >memcache module to a PHP script which can serve and store different
> >kinds of responses in the cache.
> >
> >The chosen approach is quite rough for this first version. The memcache
> >module is able to interpret two special commands prepended to the
> >response body.
> >
> >This example serves a custom 404 page from memcached:
> >
> >^SET-STATUS:404 Not Found|<HTML><BODY>...
> 
> I don't think it's good idea to introduce brand-new format just 
> for this.  Why not use plain http headers as proxy module does (or 
> http headers with CGI/1.1 directives as fastcgi does)?  This 
> particular reply can be simplified to:
> 
> [cut here]
> Status: 404 Not Found
> 
> <HTML><BODY>...
> [cut here]

I planned to add usual headers in memcached and mark them using flag.

--------------
HTTP/1.0 200 OK
Content-Type: application/xml; charset=UTF8

<html><body>...
--------------

The flag probaly may be omitted, then nginx will look for "HTTP/" line
in response and treat the response as HTTP/0.9 (simple body) if
it has no "HTTP/".

> >This example serves /sitemap.xml from memcached:
> >
> >^SET-CONTENT-TYPE:application/xml; charset=UTF8|<?xml version="1.0"
> >encoding="UTF-8" ?><urlset...
> >
> >
> >Please let me know if there is any interest in this patch. If so, I
> >could make it available. Without any warranties ofcourse. :P
> >-- 
> >Posted via http://www.ruby-forum.com/.
> >

-- 
Igor Sysoev
http://sysoev.ru/en/





More information about the nginx mailing list