We don't collect or store personal data from you, or your users. Silvan Bolt only caches public and unauthenticated pages. In all other cases, we log a minimal set of technical details.
Each request flowing through Silvan Bolt falls into one of the following modes:
request:blocked
request:bypassed
cache:missed
cache:hit
cache:cancelled
We'll go trough every mode, detailing when each mode kicks in, what we do with headers, what we do and don't cache and log.
The request is not meant to be handled at all. This is useful against hack-like crawlers (e.g. /admin/
, *.php
, .env
). The request is killed as early as possible.
blocked
configuration.Via: 2 Silvan Bolt
X-Silvan-Bolt-Mode: request:blocked
The request is handled entirely by the origin server. It is proxied as early and transparently as possible. These requests will never be cached.
GET
, orbypass
configuration.X-Forwarded-Host
: the host of the client.X-Forwarded-Proto
: the scheme of the client.X-Forwarded-For
: chain of client IPs.X-Real-IP
: the original client IP.Via: 2 Silvan Bolt
X-Silvan-Bolt-Mode: request:bypassed
Via: 2 Silvan Bolt
X-Silvan-Bolt-Mode: request:bypassed
The request is cacheable, but not cached yet. It is forwarded to the origin server, and the response is cached and returned to the client.
GET
, andblocked
or bypass
configuration, andX-Forwarded-Host
: the host of the client.X-Forwarded-Proto
: the scheme of the client.X-Forwarded-For
: chain of client IPs.Via: 2 Silvan Bolt
X-Silvan-Bolt-Mode: cache:missed
Content-Type
Content-Length
Via: 2 Silvan Bolt
X-Silvan-Bolt-Mode: cache:missed
The request is served from cache. The origin server is not contacted, and the cached response is returned directly. For performance and the environment, you'd want these request as much as possible.
GET
, andblocked
or bypass
configuration, andContent-Type
Content-Length
Via: 2 Silvan Bolt
X-Silvan-Bolt-Mode: cache:hit
The request was initially treated as cache:missed
and forwarded to the origin server. However, the origin’s response was non-cacheable. This is inefficient and should be revised to either request:bypassed
or the response should be made cacheable, depending on intent.
GET
, andblocked
or bypass
configuration, andCache-Control: no-cache|no-store|must-revalidate
header.cache:missed
cache:missed
, except:X-Silvan-Bolt-Mode: cache:cancelled