Кэшировать анонимные HTTP-запросы (на основе куки)

Я хотел бы добавить кеш HTTP (или WSGI) в мое веб-приложение Python для всех запросов, которые

  • либо GET или же HEAD
  • нет печенья под названием "session_id" (известные пользователи получают специализированные, не кэшируемые страницы)
  • нет печенья под названием "_flash" (этот файл cookie используется для отображения пользователю некоторых коротких сообщений, например, "статья успешно создана", даже после перенаправления)
  • если есть куки, которые начинаются с "__utm" (созданные Google Analytics) их следует игнорировать (не хранить в кеше), но сайт все равно следует кэшировать

Если дополнительные общие директивы кэширования (например, cache-control: private) или даже ETAGS будут приняты во внимание, это было бы неплохо, но в настоящее время это не является обязательным требованием.

Предпочтительно, я не хочу запускать какие-либо дополнительные части программного обеспечения, такие как Squid (но я буду использовать его, если есть веские причины для этого), поэтому я предпочитаю mod_apache решение на основе, или даже какой-то memcached питание WSGI-Middleware; Другие решения также приветствуются.

Большое спасибо,
Christoph

1 ответ

Решение

Я бы порекомендовал проверить лак. Это будет намного быстрее, чем любое WSGI-Middleware, которое вы пишете / находите, и вы должны иметь возможность делать с ним все, что вы хотите. Вот учебник для ознакомления с его множеством функций, опций: http://www.varnish-cache.org/docs/trunk/tutorial/index.html

Другие вопросы по тегам