souin

repository·master·Indexed 21 days ago

https://github.com/darkweak/souin

A high-performance, RFC-compliant HTTP cache system that functions as a reverse-proxy cache or a plugin for web servers and proxies. It features a Surrogate-Keys system for targeted cache purging via the Surrogate-Key HTTP header and provides plugins for Beego and Caddy. Supported storage backends include Badger, Etcd, NutsDB, Olric, and Redis.

Tokens
62.6K
Snippets
203
Records
258
Agent score
71%

What's inside souin

  1. What is Souin HTTP cache?

    master

    Souin is an HTTP cache system designed for use with reverse proxies. It can be deployed as a standalone component on top of existing proxies (like Apache or Nginx) or integrated directly as a plugin into proxies like Træfik, Caddy, or Tyk.

    Key features include:

    • RFC Compliance: Supports RFC-7234 (Vary, request coalescing, stale cache-control), the Cache-Status HTTP response header (RFC-9211), and Targeted HTTP Cache Control (RFC-9213).
    • Modern Standards: Supports draft RFCs for http-cache-groups and http-invalidation.
    • Advanced Capabilities: Supports ESI (Edge Side Includes) tags via the go-esi package and YKey grouping (similar to Varnish).
    • Deployment: Written in Go, making it portable across any server, with Docker integration for Swarm or Kubernetes.
  2. Features of the Webgo Souin middleware

    master

    The Souin middleware for Webgo provides the following capabilities:

    • RFC 7234 Compliance: Implements the standard HTTP Cache specification.
    • Cache-Status Headers: Sets the Cache-Status HTTP Response Header to communicate cache state (e.g., HIT, MISS).
    • REST API: Provides an API to purge specific items from the cache or list the resources currently stored.
    • Distributed Caching: Built-in support for using distributed cache backends.
    • Tag-based Invalidation: Allows invalidating groups of cached resources using tags.
  3. Features of the Souin Chi middleware

    master

    The Souin Chi middleware provides the following capabilities:

    • RFC 7234 Compliance: Implements the HTTP Cache specification.
    • Cache-Status Header: Sets the Cache-Status HTTP Response Header to indicate cache hits, misses, or other states.
    • REST API: Includes a REST API to purge specific cache entries and list currently stored resources.
    • Distributed Caching: Built-in support for distributed cache backends.
    • Tag-based Invalidation: Allows invalidating groups of cached resources using tags.
  4. Features of Souin Dotweb middleware

    master

    The Souin middleware for Dotweb provides the following capabilities:

    • RFC 7234 Compliance: Implements the standard HTTP Cache specification.
    • Cache-Status Header: Automatically sets the Cache-Status HTTP Response Header to indicate cache hits, misses, or other states.
    • REST API: Includes a REST API to purge the cache and list currently stored resources.
    • Distributed Caching: Built-in support for distributed cache implementations.
    • Tag-based Invalidation: Supports invalidating cache entries using tags.
  5. Features of the Goa Souin middleware

    master

    The Souin middleware for Goa provides the following capabilities:

    • RFC 7234 Compliance: Implements standard HTTP caching specifications.
    • Cache-Status Header: Automatically sets the Cache-Status HTTP Response Header to communicate cache hits/misses/etc.
    • Cache Management: Provides a REST API to purge the cache and list stored resources.
    • Distributed Caching: Built-in support for distributed cache backends.
    • Tag-based Invalidation: Allows invalidating cache entries using specific tags.
  6. Features of the Souin Skipper middleware

    master

    The Souin Skipper plugin provides the following capabilities:

    • RFC 7234 Compliance: Implements a standard-compliant HTTP Cache.
    • Cache-Status Header: Automatically sets the Cache-Status HTTP Response Header to indicate cache hits/misses/etc., as per RFC specifications.
    • Management API: Includes a REST API to purge the cache and list stored resources.
    • Distributed Support: Built-in support for distributed cache environments.
    • Invalidation: Supports tag-based cache invalidation.
  7. Features of the Souin Gin middleware

    master

    The Souin Gin middleware provides the following capabilities:

    • RFC 7234 Compliance: Implements the standard HTTP caching specification.
    • Cache-Status Header: Automatically sets the Cache-Status HTTP Response Header to communicate cache results.
    • Cache Management: Includes a REST API to purge the cache and list currently stored resources.
    • Distributed Caching: Built-in support for distributed cache setups.
    • Tag-based Invalidation: Allows invalidating cache entries using specific tags.
  8. Features of Souin Echo middleware

    master

    The Souin Echo middleware provides the following capabilities:

    • RFC 7234 Compliance: Implements the standard HTTP Cache specification.
    • Cache-Status Header: Sets the Cache-Status HTTP Response Header to indicate the cache state.
    • REST API: Provides an API to purge the cache and list stored resources.
    • Distributed Cache Support: Built-in support for distributed caching architectures.
    • Tag-based Invalidation: Allows invalidating cache entries using tags.
  9. Features of the Hertz Souin plugin

    master

    The Souin Hertz middleware provides the following capabilities:

    • RFC 7234 Compliance: Fully compliant HTTP caching behavior.
    • Cache-Status Header: Sets the Cache-Status HTTP Response Header to indicate cache hits/misses.
    • Cache Management: Includes a REST API to purge the cache and list stored resources.
    • Distributed Caching: Built-in support for distributed cache backends.
    • Tag-based Invalidation: Allows invalidating cache entries using specific tags.
  10. Features of the Beego Souin filter

    master

    The Souin Beego filter provides the following capabilities:

    • RFC 7234 Compliance: Implements the standard HTTP caching specification.
    • Cache-Status Header: Sets the Cache-Status HTTP Response Header to indicate cache hits, misses, or other states.
    • REST API: Provides an API to purge the cache and list currently stored resources.
    • Distributed Cache Support: Built-in support for using distributed cache backends.
    • Tag-based Invalidation: Allows for invalidating groups of cached resources using tags.
  11. Features of Souin for Fiber

    master

    The Souin Fiber middleware provides the following capabilities:

    • RFC 7234 Compliance: Implements the standard HTTP caching specification.
    • Cache-Status Headers: Automatically sets the Cache-Status HTTP Response Header to indicate cache hits, misses, or other states.
    • Cache Management: Includes a REST API to purge specific resources or list all currently stored resources in the cache.
    • Distributed Caching: Built-in support for distributed cache backends.
    • Tag-based Invalidation: Allows for invalidating groups of cached resources using tags.