Static response cache
Cache mode is opt-in. Add a valid
_cache-...suffix to the proxy password to activate it. The suffix is the complete opt-in: no account-level activation or token allowlist is needed. Without it, Litport does not intercept or cache anything: ordinary proxy behavior is unchanged. Certificate handling is required only for cache mode.
Practical uses#
Cache is most useful when many workers revisit public pages that share the same versioned assets. Browser automation and repeated crawls can reuse images, fonts, CSS, and JavaScript from one hub instead of buying the same response bytes for every worker.
Measured example: 1,000 ticket-page visits#
This counts decoded response bodies only. Bypasses, expiry, eviction, hub changes, and your actual rate affect results; unlimited plans show free bytes but do not receive a cash credit.
Where cache works#
Cache mode is available on every Litport customer product family: datacenter, ISP/static residential,
residential, mobile, unlimited, and pay-per-GB. Every cache-enabled request through the HTTP proxy
endpoint is evaluated. Eligible static HTTPS GET requests may store or hit; ineligible requests
bypass through the ordinary proxy path. SOCKS5 ingress never caches.
| Configuration | Result |
|---|---|
| Valid suffix + HTTP proxy + eligible HTTPS static GET | Cache eligible |
| Valid suffix + HTTP proxy + other, private, or nonstatic HTTPS | Normal billed bypass |
| Valid suffix + HTTP proxy + plain HTTP target | Normal billed; never stored |
| Valid suffix + SOCKS5 + HTTP or HTTPS | Ordinary SOCKS5; no caching |
| No suffix | Ordinary behavior in every case |
Quickstart#
- Download and trust the Litport cache root, or use that page's isolated verification-skip option for public-data automation.
- Add
_cache-scriptsto the proxy password. - Request the same eligible HTTPS URL twice through
hub-us-7.litport.net. - Open Traffic statistics to see the miss, hit, free bytes, and pay-per-GB savings.
# Proxy endpoint: http://hub-us-7.litport.net:PORT · Target: pinned Lodash on jsDelivr
curl --proxy 'http://hub-us-7.litport.net:PORT' \
--proxy-user 'USER:PASSWORD_cache-scripts' \
--cacert litport-cache-root.crt \
'https://cdn.jsdelivr.net/npm/[email protected]/lodash.min.js'
The proxy URL starts with http:// because curl uses HTTP CONNECT to reach Litport. That does not
make the target plain HTTP: the URL at the end must start with https://.
One hub owns each cache entry#
Cache entries are local to a hub and survive a hub service restart there. They are not copied to
other hubs. Warming hub-us-7.litport.net does not warm hub-eu-1.litport.net, but the same Litport
root certificate works on both cache-enabled hubs.
See what you saved#
Traffic statistics can group usage by day, hour, or month. Every product shows free cached bytes; pay-per-GB traffic also shows the dollar savings. Integrations can retrieve the same usage through the Account API.
The cache suffix has no surcharge or multiplier. Misses and bypasses keep the normal price of the selected proxy product or pool; only cached hit response bytes are free.
What is eligible#
Password selects cache → HTTP proxy ingress → target is HTTPS → method is GET → path ends in a selected static type → request has no private or partial-content signals → response is 200 and cacheable. A failed step becomes a normal billed proxy request; it does not fail solely because it was not cacheable.
Supported groups:
- Images: PNG, JPEG, GIF, SVG, ICO, and WebP
- Scripts: JavaScript, CSS, WebAssembly, and source maps
- Fonts: WOFF, WOFF2, TTF, EOT, and OTF
The full URL is the cache identity, including the exact query string. Responses with cookies,
authorization, byte ranges, unsupported Vary, or request no-cache directives always bypass.
Why HTTPS only?#
Litport continues to proxy ordinary http:// targets normally. They are not cached because an
unverified response could be altered between the hub and origin; storing it would turn one network
interception into shared cache poisoning. Installing the Litport CA or disabling certificate checks
does not make a plain-HTTP target eligible.
Safe defaults#
The default cache duration is 120 minutes, capped by the origin's s-maxage or max-age when that
is shorter. _cacheignoreheader-1 can store a response even when the origin marks it private,
no-cache, or no-store; its requested duration starts when Litport stores the complete response.
Use that override only for public, unauthenticated static assets. Entries are shared among
Litport customers on the same hub, so ignoring origin privacy instructions for personalized content
is unsafe.
Continue with certificate setup, or open the complete cache reference.