HTTP Response Headers

Overview
There are numerous HTTP response headers that can be included in the server’s response to provide additional information, control caching behavior, enforce security policies, and facilitate communication between the client and server. Here are some commonly seen HTTP response headers:
A
Accept-Ch:- Sec-CH-UA
- Sec-CH-UA-Arch
- Sec-CH-UA-Bitness
- Sec-CH-UA-Full-Version-List
- Sec-CH-UA-Mobile
- Sec-CH-UA-Model
- Sec-CH-UA-Platform
- Sec-CH-UA-Platform-Version
- Sec-CH-UA-WoW64
Accept-Ranges: bytesAccess-Control-Allow-Credentials: trueAccess-Control-Allow-Origin:- https://www.syb.com
- https://www.youtube.com
Access-Control-Allow-Headers:- Accept, Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization, X-WL-CONF,X-Requested-With
Access-Control-Allow-Methods:- GET, POST, OPTIONS
- POST, GET, OPTIONS, PUT, DELETE
Access-Control-Expose-Headers: Client-Protocol, Content-Length, Content-Type, X-Bandwidth-Est, X-Bandwidth-Est2, X-Bandwidth-Est3, X-Bandwidth-App-Limited, X-Bandwidth-Est-App-Limited, X-Bandwidth-Est-Comp, X-Bandwidth-Avg, X-Head-Time-Millis, X-Head-Time-Sec, X-Head-Seqnum, X-Response-Itag, X-Restrict-Formats-Hint, X-Sequence-Num, X-Segment-Lmt, X-Walltime-MsAlt-Svc: h3=”:443″; ma=2592000,h3-29=”:443″; ma=2592000
C
Cache-Control:- no-cache, must-revalidate
- no-cache,no-store,must-revalidate,max-age=0,proxy-revalidate,no-transform,private
- public, max-age=86400
Cf-Ray:- 7e59627769246332-ORD
- 7e597c7db891104e-ORD
Cf-Cache-Status: HITConnection:- Close
- keep-alive
Content-Length: 13Content-Security-Policy: frame-ancestors ‘none’Content-Security-Policy-Report-Only: require-trusted-types-for ‘script’; report-uri https://csp.withgoogle.com/csp/apps-themesContent-Type:- application/x-javascript
- application/json
- text/html; charset=UTF-8
Cross-Origin-Opener-Policy:- same-origin
- same-origin; report-to=”apps-themes”
Cross-Origin-Embedder-Policy: require-corpCross-Origin-Resource-Policy: cross-origin
D
Date: Tue, 11 Jul 2023 21:23:27 GMT
E
Etag: W/”8228-5fea824eb3567-gzip”Expires: Fri, 01 Jan 1990 00:00:00 GMT
H
HTTP/1.0 301HTTP/1.1 200 OKHTTP/1.1 302 FoundHTTP/2 200 OKHTTP/2 204 No ContentHTTP/2 429 Too Many Requests
L
Last-Modified: Sun, 17 May 1998 03:00:00 GMTLocation:- https://x.bidswitch.net/sync dsp_id=393&user_id=0&ssp=triplelift&bsw_param=997cfff6-21c8-49c1-b7a8-92b277de917a
- https://rtb.openx.net/sync/prebid?gdpr=0&gdpr_consent=&r=https%3A%2F%2Fprebid.a-mo.net%2Fcchain%2F2%2F1302%3Fgdpr%3D0%26gdpr_consent%3D%26us_privacy%3D%26A%3D417ecbd9-1829-4a39-844d-280300d697bf%26bidder%3Dopenx%26cbx%3DaHR0cHM6Ly9jcy5taW51dGVtZWRpYS1wcmViaWQuY29tL2NzP2FpZD0yMTQ5MiZ1aWQ9%26uid%3D%24%7BUID%7D
- https://match.sharethrough.com/sync/v1?source_id=m3k4T1aBLLPMpeMdFP9tJTiB&source_user_id=2e357199-8d5a-4f6c-99b5-93f63d78effff
- https://bh.contextweb.com/bh/rtset?pid=562894&ev=1&us_privacy=&rurl=https%3A%2F%2Fssp.disqus.com%2Fmatch%3Fbidder%3D29%26buyeruid%3D%25%25VGUID%25%25%26r%3DCid1YS0yYjk0NTg1My01YjlkLTNmNzgtOTY1YS0xM2FlNzVkN2M0ZDUQ____________ASpZaHR0cHM6Ly9jcy5taW51dGVtZWRpYS1wcmViaWQuY29tL2NzP2FpZD0yMTQ5NSZpZD11YS0yYjk0NTg1My01YjlkLTNmNzgtOTY1YS0xM2FlNzVkN2M0ZDUyAh0fOAE=%26gdpr%3D%26gdpr_consent%3D
P
P3P: policyref=”/w3c/p3p.xml”, CP=”NOI NID CURa ADMa DEVa PSAa PSDa OUR SAMa BUS PUR COM NAV INT”Pragma: no-cache
R
Referrer-Policy: origin-when-cross-originReport-To:- {“group”:”apps-themes”,”max_age”:2592000,”endpoints”:[{“url”:”https://csp.withgoogle.com/csp/report-to/apps-themes”}]}
- {“endpoints”:[{“url”:”https:\/\/a.nel.cloudflare.com\/report\/v3?s=o9D%2Bnf1yoifJsyd*****O84r3n1RQ0pcfA5Sa9H4O0zbPNfCmGEytlHFNAfBouaS0US0mjKb8hdtTb2***************9f%2Fkh6jAJhovxtBKd5SB58Y5iP8i76%2Bdn”}],”group”:”cf-nel”,”max_age”:604800}
S
Server:- Akamai Resource Optimizer
- AmazonS3
- cafe
- cloudflare
- Golfe2
- nginx
- Playlog
- scaffolding on HTTPServer2
- sffe
Server-Timing: ak_p; desc=”469197_399137570_1009706770_44_7814_16_0_-“;dur=1Server-Timing: cdn-cache; desc=HITServer-Timing: edge; dur=1Set-Cookie: SMSESSION=ZJ4bMPgUuRpdAdjtWK7+tC6bpsbyCuUEYrO4r+; path=/; domain=.chase.com; secure; HTTPOnlySet-Cookie: WmuiProvided_CustomPositions_AuthCache_Entry_Token=””; Domain=.chase.com; Expires=Thu, 01 Jan 1970 00:00:10 GMT; Path=/; Secure; HttpOnlyStrict-Transport-Security:- max-age=0
- max-age=10886400; includeSubDomains; preload
T
Timing-Allow-Origin: *
V
Vary:- Accept-Encoding
- Origin, Accept-Encoding
- Referer
- X-Origin
X
x-amz-id-2: npwK2XjjLmz+CaPqiPSyEDZPZVwatTCTeYlH+MN+9lgeykemLatWN8S3t9raWXvbR/LglR7JmI0=x-amz-request-id: Q1KFRNPGM4F9NSA0x-amz-server-side-encryption: AES256X-Amzn-Trace-Id: [0.1eb74d68.1687439769.1fa23927 | 0.225bca17.1689110484.3c2ee712]X-App-Cdndc-Id: us-east-2X-App-Info: bv=DPS/dps-banking-accounts/release%2F2023.06.11-477; pd=02eaX-B3-Traceid: f3ede37efc7b60efdcd589f7d3a61cc0X-Content-Security-Policy: frame-ancestors ‘none’X-Content-Type-Options: nosniffX-Download-Options: noopenX-Envoy-Upstream-Service-Time: 0X-Frame-Options:- DENY
- SAMEORIGIN
X-Ms-Blob-Type: BlockBlobX-Ms-Lease-Status: unlockedX-Ms-Request-Id: 4a03d358-701e-007b-67f3-b3b356000000X-Ms-Version: 2009-09-19X-Oneagent-Js-Injection: trueX-TID: IcvsnPohRjw=X-Trace-Id: ZK3IQwvOtRUE8TXC91cjtQAAACgX-Xss-Protection:- 0
- 1; mode=block
Cache-Control
Some words about the Cache-Control header
Cache-Control Directives
- max-age
must-revalidate– TODOno-cache– TODOno-store– TODO- no-transform
- public
- private
- proxy-revalidate
- s-maxage
How to set Cache-Control
- Apache
- TODO: how do I set in Apache?
- IIS
- TODO: how do i set in Microsoft IIS
| Threat | Name | Value | Notes |
| Information Leak on client | Cache-Control | no-cache, no-store, must-revalidate | – http/1.1 – Some HTTP/1.0 caches might not implement Cache-Control |
| Information Leak on client | Pragma | no-cache | http/1.0 |
| Information Leak on client | Expires | -1 or Fri, 01 Jan 1990 00:00:00 GMT | |
Content Security Profile(CSP)
Set to a narrow scope. Never set it to wildcard (e.g. *)