HTTP headers can be found in both the HTTP Request and HTTP Response.

Request Headers

The following headers are sent to each Now deployment and can be used to process the request before sending back a response. These headers can be read from the Request object in your Lambda.

host

This header represents the domain name as it was accessed by the client. If the deployment has been aliased and the client visited the alias URL, it contains the alias instead of the underlying deployment URL.

x-forwarded-host

This header is identical to the host header.

x-forwarded-proto

This header represents the protocol of the forwarded server, typically https in production and http in development.

x-now-deployment-url

This header represents the unique deployment, not the alias. For example, test-5uyfnapzg.now.sh.

Response Headers

The following headers are included in Now deployment responses and indicate certain factors of the environment. These headers can be viewed from the Browser's Dev Tools or using an HTTP client such as curl -I <DEPLOYMENT_URL>.

server: now

Similar to now: 1. This header can be overridden by other proxies (e.g., Cloudflare).

x-now-cache

This header's value indicates whether the response was served from ZEIT's edge cache.

The following values are possible when the content being served is static or uses a Cache-Control header.

Value
Description
HIT
The response was served from the edge.
MISS
The response was not found in the edge and so was fetched from an origin server.
BYPASS
The cache was bypassed and so the response was served from an origin server.
STALE
The response from the cache is outdated but another visitor has already requested the response and the edge node is processing the revalidation.

x-now-id

The unique identifier for each request.

x-now-trace

Contains a list of our data centers through which the request has traversed, usually the data center closest to you.

Note: The trace is where a request was processed, it is not necessarily where a lambda was executed, this could be different if you defined regions in yournow.json file.

Custom Headers

Custom headers can be added dynamically to the Response object in your Lambda or they can be added statically to the routes property in your now.json file.