Skip to content
LookupOwl

HTTP headers checker

Follow a URL hop by hop and see every status code, redirect and header along the way.

We follow redirects hop by hop.

More options

GET shows what a browser receives; HEAD asks for headers only (a few servers answer it differently).

Follow redirects (up to 10 hops, each checked again) or stop at the first response.

Results for m.communication.github.com

Checked live lookup938 ms

JSONCheck again

200 OK

Lands safely after 3 redirects

https://m.communication.github.com/ takes 3 redirects to settle on https://auth.services.adobe.com/en_US/deeplink.html?deeplink=ssofirst&callback=https%3A%2F%2Fims-na1.adobelogin.com%2Fims%2Fadobeid%2FCampaign1%2FAdobeID%2Fcode%3Fredirect_uri%3Dhttps%253A%252F%252Fadobe.com%26code_challenge_method%3Dplain%26use_ms_for_expiry%3Dtrue&client_id=Campaign1&scope=AdobeID%2Cperson%2Csession%2Cadditional_info.projectedProductContext%2Cread_organizations%2Cadditional_info.user_image_url%2Cwrite_pc%2Caudiencemanager_api%2Copenid%2Ctriggers&relay=389fac13-7c11-49e4-89af-9cb1aed28315&locale=en_US&flow_type=code&idp_flow_type=login&s_p=google%2Cfacebook%2Capple%2Cmicrosoft%2Cline%2Ckakao&response_type=code&code_challenge_method=plain&redirect_uri=https%3A%2F%2Fadobe.com&use_ms_for_expiry=true.

Leaves the domainOffers HTTP/3
Total time
937ms

Slowest hop: #1 (364 ms)

The journey
  1. 1
    302 Found
    https://m.communication.github.com/
    52.251.114.96fetched over HTTP/1.1
    → Redirects to https://m.communication.github.com/xtk/logon.jssp
    364 ms · slowest
  2. 2
    302 Found
    https://m.communication.github.com/xtk/logon.jssp
    52.251.114.96fetched over HTTP/1.1
    → Redirects to https://adobeid-na1.services.adobe.com/ims/authorize/v1?client_id=Campaign1&scope=AdobeID%2Cperson%2Csession%2Cadditional_info.projectedProductContext%2Cread_organizations%2Cadditional_info.user_image_url%2Cwrite_pc%2Caudiencemanager_api%2Copenid%2Ctriggers&response_type=code&redirect_uri=https%3A%2F%2Fm.communication.github.com%2Fxtk%2Flogon.jssp
    327 ms
  3. 3
    302 Found
    https://adobeid-na1.services.adobe.com/ims/authorize/v1?client_id=Campaign1&scope=AdobeID%2Cperson%2Csession%2Cadditional_info.projectedProductContext%2Cread_organizations%2Cadditional_info.user_image_url%2Cwrite_pc%2Caudiencemanager_api%2Copenid%2Ctriggers&response_type=code&redirect_uri=https%3A%2F%2Fm.communication.github.com%2Fxtk%2Flogon.jssp
    162.159.140.165fetched over HTTP/1.1
    → Redirects to https://auth.services.adobe.com/en_US/deeplink.html?deeplink=ssofirst&callback=https%3A%2F%2Fims-na1.adobelogin.com%2Fims%2Fadobeid%2FCampaign1%2FAdobeID%2Fcode%3Fredirect_uri%3Dhttps%253A%252F%252Fadobe.com%26code_challenge_method%3Dplain%26use_ms_for_expiry%3Dtrue&client_id=Campaign1&scope=AdobeID%2Cperson%2Csession%2Cadditional_info.projectedProductContext%2Cread_organizations%2Cadditional_info.user_image_url%2Cwrite_pc%2Caudiencemanager_api%2Copenid%2Ctriggers&relay=389fac13-7c11-49e4-89af-9cb1aed28315&locale=en_US&flow_type=code&idp_flow_type=login&s_p=google%2Cfacebook%2Capple%2Cmicrosoft%2Cline%2Ckakao&response_type=code&code_challenge_method=plain&redirect_uri=https%3A%2F%2Fadobe.com&use_ms_for_expiry=true
    175 ms
  4. 4
    200 OK
    https://auth.services.adobe.com/en_US/deeplink.html?deeplink=ssofirst&callback=https%3A%2F%2Fims-na1.adobelogin.com%2Fims%2Fadobeid%2FCampaign1%2FAdobeID%2Fcode%3Fredirect_uri%3Dhttps%253A%252F%252Fadobe.com%26code_challenge_method%3Dplain%26use_ms_for_expiry%3Dtrue&client_id=Campaign1&scope=AdobeID%2Cperson%2Csession%2Cadditional_info.projectedProductContext%2Cread_organizations%2Cadditional_info.user_image_url%2Cwrite_pc%2Caudiencemanager_api%2Copenid%2Ctriggers&relay=389fac13-7c11-49e4-89af-9cb1aed28315&locale=en_US&flow_type=code&idp_flow_type=login&s_p=google%2Cfacebook%2Capple%2Cmicrosoft%2Cline%2Ckakao&response_type=code&code_challenge_method=plain&redirect_uri=https%3A%2F%2Fadobe.com&use_ms_for_expiry=true
    172.64.155.179fetched over HTTP/1.1
    70 ms

4 hops: 302 → 302 → 302 → 200.

Security headers
B

4 of 6 checks pass

Caching
Cacheable

Cacheable for 30 seconds.

Server
cloudflare
  • The chain leaves the original registrable domain.
Response headers30
Response of hop 4 · 200 OK
HeaderValue
dateSun, 15 Nov 2026 20:36:43 GMT
content-typetext/html
transfer-encodingchunked
connectionclose
servercloudflare
last-modifiedWed, 04 Nov 2026 10:18:33 GMT
x-amz-storage-classINTELLIGENT_TIERING
x-amz-version-idJbpK_fZq8zO99XpdF4ioqpPn0IMkcNQM
x-amz-server-side-encryptionAES256
cache-controlmax-age=30,stale-while-revalidate=5
etagW/"9acd56fd6235a95f3ca31dc7b5fe5a4a"
varyAccept-Encoding
x-cacheHit from cloudfront
via1.1 5a846dcecbd8f1da6a7cd974344e91fa.cloudfront.net (CloudFront)
x-amz-cf-popCDG50-P6
alt-svch3=":443"; ma=86400
x-amz-cf-id-IjpPDx0wHpMQKSLBHnNnIxQ8v0zeXJlU15R9XraIW5t1UFz7TgdzQ==
age20
x-frame-optionsDENY
referrer-policyno-referrer-when-downgrade
content-security-policyreport-uri https://auth.services.adobe.com/signin/v1/audit/csp-violation-report; report-to report_api
x-content-type-optionsnosniff
strict-transport-securitymax-age=31536000; includeSubDomains; preload
cross-origin-opener-policy-report-onlyrestrict-properties; report-to="report_api"
report-to{"group":"report_api","max_age":2592000,"endpoints":[{"url":"https://auth.services.adobe.com/signin/v1/audit/report"}]}
reporting-endpointsreport_api="https://auth.services.adobe.com/signin/v1/audit/report"
x-robots-tagnoindex
cf-cache-statusDYNAMIC
content-encodingbr
cf-raya5b10cb9aba93b9c-CDG
Headers of hop 1 · 302 · 6
HeaderValue
dateSun, 15 Nov 2026 20:36:42 GMT
serverApache
locationhttps://m.communication.github.com/xtk/logon.jssp
content-length233
connectionclose
content-typetext/html; charset=iso-8859-1
Headers of hop 2 · 302 · 13
HeaderValue
dateSun, 15 Nov 2026 20:36:42 GMT
serverApache
x-ua-compatibleIE=edge
pragmano-cache
cache-controlno-cache
connectionclose
locationhttps://adobeid-na1.services.adobe.com/ims/authorize/v1?client_id=Campaign1&scope=AdobeID%2Cperson%2Csession%2Cadditional_info.projectedProductContext%2Cread_organizations%2Cadditional_info.user_image_url%2Cwrite_pc%2Caudiencemanager_api%2Copenid%2Ctriggers&response_type=code&redirect_uri=https%3A%2F%2Fm.communication.github.com%2Fxtk%2Flogon.jssp
content-length0
x-xss-protection1; mode=block
x-content-type-optionsnosniff
strict-transport-securitymax-age=31536000
x-robots-tagnoindex
content-typetext/html; charset=utf-8
Headers of hop 3 · 302 · 17
HeaderValue
dateSun, 15 Nov 2026 20:36:43 GMT
content-typetext/html;charset=UTF-8
transfer-encodingchunked
connectionclose
locationhttps://auth.services.adobe.com/en_US/deeplink.html?deeplink=ssofirst&callback=https%3A%2F%2Fims-na1.adobelogin.com%2Fims%2Fadobeid%2FCampaign1%2FAdobeID%2Fcode%3Fredirect_uri%3Dhttps%253A%252F%252Fadobe.com%26code_challenge_method%3Dplain%26use_ms_for_expiry%3Dtrue&client_id=Campaign1&scope=AdobeID%2Cperson%2Csession%2Cadditional_info.projectedProductContext%2Cread_organizations%2Cadditional_info.user_image_url%2Cwrite_pc%2Caudiencemanager_api%2Copenid%2Ctriggers&relay=389fac13-7c11-49e4-89af-9cb1aed28315&locale=en_US&flow_type=code&idp_flow_type=login&s_p=google%2Cfacebook%2Capple%2Cmicrosoft%2Cline%2Ckakao&response_type=code&code_challenge_method=plain&redirect_uri=https%3A%2F%2Fadobe.com&use_ms_for_expiry=true
cf-raya5b10cb89c6e545d-CDG
cf-cache-statusDYNAMIC
cache-controlno-store
content-languageen
servercloudflare
set-cookierelay=389fac13-7c11-49e4-89af-9cb1aed28315; Path=/; Secure; SameSite=None ftrset=819; Path=/; Secure; HttpOnly; SameSite=None ftrset=819; Path=/; Secure; HttpOnly; SameSite=None
strict-transport-securitymax-age=31536000; includeSubDomains; preload
cross-origin-embedder-policyrequire-corp
cross-origin-resource-policysame-site
p3pCP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA"
x-debug-id389fac13-7c11-49e4-89af-9cb1aed28315
x-viaglbs-va6c2,glbs-irl1
Security6

These six headers tell browsers how to treat the page. A missing one is a chance to tighten things up, not a fault in itself. Score: 76 out of 100.

HeaderRatingValueWhat it means
Strict-Transport-SecurityGoodmax-age=31536000; includeSubDomains; preloadHSTS is enabled for 365 days. includeSubDomains and preload are set: the site can be added to browsers' preload lists.
Content-Security-PolicyOKreport-uri https://auth.services.adobe.com/signin/v1/audit/csp-violation-report; report-to report_apiA Content-Security-Policy is set, but it does not restrict scripts (no script-src or default-src).
X-Frame-OptionsGoodDENYFraming is limited (DENY), which blocks clickjacking.
X-Content-Type-OptionsGoodnosniffMIME sniffing is disabled.
Referrer-PolicyWeakno-referrer-when-downgradeno-referrer-when-downgrade sends the full URL (path and query) to other sites.
Permissions-PolicyMissing–No Permissions-Policy: powerful browser features stay available to any embedded content.
Caching

Cacheable for 30 seconds.

Cache-Control
max-age=30,stale-while-revalidate=5
Browsers keep it for
30 s
Stale while revalidating
5 s
Age of this copy
20 s
Last modified
Wed, 04 Nov 2026 10:18:33 GMT
ETag
✓ Yes
Vary
Accept-Encoding
CDN cache
cf-cache-status: DYNAMIC
Server
Software
cloudflare
CDN
Cloudflare
Via
1.1 5a846dcecbd8f1da6a7cd974344e91fa.cloudfront.net (CloudFront)
Content type
text/html
Compression
br
Structured result (JSON) · 13 KB
{
  "url": "m.communication.github.com",
  "method": "GET",
  "finalUrl": "https://auth.services.adobe.com/en_US/deeplink.html?deeplink=ssofirst&callback=https%3A%2F%2Fims-na1.adobelogin.com%2Fims%2Fadobeid%2FCampaign1%2FAdobeID%2Fcode%3Fredirect_uri%3Dhttps%253A%252F%252Fadobe.com%26code_challenge_method%3Dplain%26use_ms_for_expiry%3Dtrue&client_id=Campaign1&scope=AdobeID%2Cperson%2Csession%2Cadditional_info.projectedProductContext%2Cread_organizations%2Cadditional_info.user_image_url%2Cwrite_pc%2Caudiencemanager_api%2Copenid%2Ctriggers&relay=389fac13-7c11-49e4-89af-9cb1aed28315&locale=en_US&flow_type=code&idp_flow_type=login&s_p=google%2Cfacebook%2Capple%2Cmicrosoft%2Cline%2Ckakao&response_type=code&code_challenge_method=plain&redirect_uri=https%3A%2F%2Fadobe.com&use_ms_for_expiry=true",
  "status": 200,
  "ok": true,
  "hops": [
    {
      "url": "https://m.communication.github.com/",
      "status": 302,
      "headers": {
        "date": "Sun, 15 Nov 2026 20:36:42 GMT",
        "server": "Apache",
        "location": "https://m.communication.github.com/xtk/logon.jssp",
        "content-length": "233",
        "connection": "close",
        "content-type": "text/html; charset=iso-8859-1"
      },
      "ms": 364,
      "statusText": "Found",
      "location": "https://m.communication.github.com/xtk/logon.jssp",
      "ip": "52.251.114.96",
      "httpVersion": "1.1"
    },
    {
      "url": "https://m.communication.github.com/xtk/logon.jssp",
      "status": 302,
      "headers": {
        "date": "Sun, 15 Nov 2026 20:36:42 GMT",
        "server": "Apache",
        "x-ua-compatible": "IE=edge",
        "pragma": "no-cache",
        "cache-control": "no-cache",
        "connection": "close",
        "location": "https://adobeid-na1.services.adobe.com/ims/authorize/v1?client_id=Campaign1&scope=AdobeID%2Cperson%2Csession%2Cadditional_info.projectedProductContext%2Cread_organizations%2Cadditional_info.user_image_url%2Cwrite_pc%2Caudiencemanager_api%2Copenid%2Ctriggers&response_type=code&redirect_uri=https%3A%2F%2Fm.communication.github.com%2Fxtk%2Flogon.jssp",
        "content-length": "0",
        "x-xss-protection": "1; mode=block",
        "x-content-type-options": "nosniff",
        "strict-transport-security": "max-age=31536000",
        "x-robots-tag": "noindex",
        "content-type": "text/html; charset=utf-8"
      },
      "ms": 327,
      "statusText": "Found",
      "location": "https://adobeid-na1.services.adobe.com/ims/authorize/v1?client_id=Campaign1&scope=AdobeID%2Cperson%2Csession%2Cadditional_info.projectedProductContext%2Cread_organizations%2Cadditional_info.user_image_url%2Cwrite_pc%2Caudiencemanager_api%2Copenid%2Ctriggers&response_type=code&redirect_uri=https%3A%2F%2Fm.communication.github.com%2Fxtk%2Flogon.jssp",
      "ip": "52.251.114.96",
      "httpVersion": "1.1"
    },
    {
      "url": "https://adobeid-na1.services.adobe.com/ims/authorize/v1?client_id=Campaign1&scope=AdobeID%2Cperson%2Csession%2Cadditional_info.projectedProductContext%2Cread_organizations%2Cadditional_info.user_image_url%2Cwrite_pc%2Caudiencemanager_api%2Copenid%2Ctriggers&response_type=code&redirect_uri=https%3A%2F%2Fm.communication.github.com%2Fxtk%2Flogon.jssp",
      "status": 302,
      "headers": {
        "date": "Sun, 15 Nov 2026 20:36:43 GMT",
        "content-type": "text/html;charset=UTF-8",
        "transfer-encoding": "chunked",
        "connection": "close",
        "location": "https://auth.services.adobe.com/en_US/deeplink.html?deeplink=ssofirst&callback=https%3A%2F%2Fims-na1.adobelogin.com%2Fims%2Fadobeid%2FCampaign1%2FAdobeID%2Fcode%3Fredirect_uri%3Dhttps%253A%252F%252Fadobe.com%26code_challenge_method%3Dplain%26use_ms_for_expiry%3Dtrue&client_id=Campaign1&scope=AdobeID%2Cperson%2Csession%2Cadditional_info.projectedProductContext%2Cread_organizations%2Cadditional_info.user_image_url%2Cwrite_pc%2Caudiencemanager_api%2Copenid%2Ctriggers&relay=389fac13-7c11-49e4-89af-9cb1aed28315&locale=en_US&flow_type=code&idp_flow_type=login&s_p=google%2Cfacebook%2Capple%2Cmicrosoft%2Cline%2Ckakao&response_type=code&code_challenge_method=plain&redirect_uri=https%3A%2F%2Fadobe.com&use_ms_for_expiry=true",
        "cf-ray": "a5b10cb89c6e545d-CDG",
        "cf-cache-status": "DYNAMIC",
        "cache-control": "no-store",
        "content-language": "en",
        "server": "cloudflare",
        "set-cookie": "relay=389fac13-7c11-49e4-89af-9cb1aed28315; Path=/; Secure; SameSite=None\nftrset=819; Path=/; Secure; HttpOnly; SameSite=None\nftrset=819; Path=/; Secure; HttpOnly; SameSite=None",
        "strict-transport-security": "max-age=31536000; includeSubDomains; preload",
        "cross-origin-embedder-policy": "require-corp",
        "cross-origin-resource-policy": "same-site",
        "p3p": "CP=\"IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA\"",
        "x-debug-id": "389fac13-7c11-49e4-89af-9cb1aed28315",
        "x-via": "glbs-va6c2,glbs-irl1"
      },
      "ms": 175,
      "statusText": "Found",
      "location": "https://auth.services.adobe.com/en_US/deeplink.html?deeplink=ssofirst&callback=https%3A%2F%2Fims-na1.adobelogin.com%2Fims%2Fadobeid%2FCampaign1%2FAdobeID%2Fcode%3Fredirect_uri%3Dhttps%253A%252F%252Fadobe.com%26code_challenge_method%3Dplain%26use_ms_for_expiry%3Dtrue&client_id=Campaign1&scope=AdobeID%2Cperson%2Csession%2Cadditional_info.projectedProductContext%2Cread_organizations%2Cadditional_info.user_image_url%2Cwrite_pc%2Caudiencemanager_api%2Copenid%2Ctriggers&relay=389fac13-7c11-49e4-89af-9cb1aed28315&locale=en_US&flow_type=code&idp_flow_type=login&s_p=google%2Cfacebook%2Capple%2Cmicrosoft%2Cline%2Ckakao&response_type=code&code_challenge_method=plain&redirect_uri=https%3A%2F%2Fadobe.com&use_ms_for_expiry=true",
      "ip": "162.159.140.165",
      "httpVersion": "1.1"
    },
    {
      "url": "https://auth.services.adobe.com/en_US/deeplink.html?deeplink=ssofirst&callback=https%3A%2F%2Fims-na1.adobelogin.com%2Fims%2Fadobeid%2FCampaign1%2FAdobeID%2Fcode%3Fredirect_uri%3Dhttps%253A%252F%252Fadobe.com%26code_challenge_method%3Dplain%26use_ms_for_expiry%3Dtrue&client_id=Campaign1&scope=AdobeID%2Cperson%2Csession%2Cadditional_info.projectedProductContext%2Cread_organizations%2Cadditional_info.user_image_url%2Cwrite_pc%2Caudiencemanager_api%2Copenid%2Ctriggers&relay=389fac13-7c11-49e4-89af-9cb1aed28315&locale=en_US&flow_type=code&idp_flow_type=login&s_p=google%2Cfacebook%2Capple%2Cmicrosoft%2Cline%2Ckakao&response_type=code&code_challenge_method=plain&redirect_uri=https%3A%2F%2Fadobe.com&use_ms_for_expiry=true",
      "status": 200,
      "headers": {
        "date": "Sun, 15 Nov 2026 20:36:43 GMT",
        "content-type": "text/html",
        "transfer-encoding": "chunked",
        "connection": "close",
        "server": "cloudflare",
        "last-modified": "Wed, 04 Nov 2026 10:18:33 GMT",
        "x-amz-storage-class": "INTELLIGENT_TIERING",
        "x-amz-version-id": "JbpK_fZq8zO99XpdF4ioqpPn0IMkcNQM",
        "x-amz-server-side-encryption": "AES256",
        "cache-control": "max-age=30,stale-while-revalidate=5",
        "etag": "W/\"9acd56fd6235a95f3ca31dc7b5fe5a4a\"",
        "vary": "Accept-Encoding",
        "x-cache": "Hit from cloudfront",
        "via": "1.1 5a846dcecbd8f1da6a7cd974344e91fa.cloudfront.net (CloudFront)",
        "x-amz-cf-pop": "CDG50-P6",
        "alt-svc": "h3=\":443\"; ma=86400",
        "x-amz-cf-id": "-IjpPDx0wHpMQKSLBHnNnIxQ8v0zeXJlU15R9XraIW5t1UFz7TgdzQ==",
        "age": "20",
        "x-frame-options": "DENY",
        "referrer-policy": "no-referrer-when-downgrade",
        "content-security-policy": "report-uri https://auth.services.adobe.com/signin/v1/audit/csp-violation-report; report-to report_api",
        "x-content-type-options": "nosniff",
        "strict-transport-security": "max-age=31536000; includeSubDomains; preload",
        "cross-origin-opener-policy-report-only": "restrict-properties; report-to=\"report_api\"",
        "report-to": "{\"group\":\"report_api\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://auth.services.adobe.com/signin/v1/audit/report\"}]}",
        "reporting-endpoints": "report_api=\"https://auth.services.adobe.com/signin/v1/audit/report\"",
        "x-robots-tag": "noindex",
        "cf-cache-status": "DYNAMIC",
        "content-encoding": "br",
        "cf-ray": "a5b10cb9aba93b9c-CDG"
      },
      "ms": 70,
      "statusText": "OK",
      "ip": "172.64.155.179",
      "httpVersion": "1.1"
    }
  ],
  "totalMs": 937,
  "redirects": {
    "count": 3,
    "loop": false,
    "tooMany": false,
    "notFollowed": false,
    "httpsUpgrade": false,
    "downgrade": false,
    "crossDomain": true,
    "chain": [
      {
        "from": "https://m.communication.github.com/",
        "to": "https://m.communication.github.com/xtk/logon.jssp",
        "status": 302
      },
      {
        "from": "https://m.communication.github.com/xtk/logon.jssp",
        "to": "https://adobeid-na1.services.adobe.com/ims/authorize/v1?client_id=Campaign1&scope=AdobeID%2Cperson%2Csession%2Cadditional_info.projectedProductContext%2Cread_organizations%2Cadditional_info.user_image_url%2Cwrite_pc%2Caudiencemanager_api%2Copenid%2Ctriggers&response_type=code&redirect_uri=https%3A%2F%2Fm.communication.github.com%2Fxtk%2Flogon.jssp",
        "status": 302
      },
      {
        "from": "https://adobeid-na1.services.adobe.com/ims/authorize/v1?client_id=Campaign1&scope=AdobeID%2Cperson%2Csession%2Cadditional_info.projectedProductContext%2Cread_organizations%2Cadditional_info.user_image_url%2Cwrite_pc%2Caudiencemanager_api%2Copenid%2Ctriggers&response_type=code&redirect_uri=https%3A%2F%2Fm.communication.github.com%2Fxtk%2Flogon.jssp",
        "to": "https://auth.services.adobe.com/en_US/deeplink.html?deeplink=ssofirst&callback=https%3A%2F%2Fims-na1.adobelogin.com%2Fims%2Fadobeid%2FCampaign1%2FAdobeID%2Fcode%3Fredirect_uri%3Dhttps%253A%252F%252Fadobe.com%26code_challenge_method%3Dplain%26use_ms_for_expiry%3Dtrue&client_id=Campaign1&scope=AdobeID%2Cperson%2Csession%2Cadditional_info.projectedProductContext%2Cread_organizations%2Cadditional_info.user_image_url%2Cwrite_pc%2Caudiencemanager_api%2Copenid%2Ctriggers&relay=389fac13-7c11-49e4-89af-9cb1aed28315&locale=en_US&flow_type=code&idp_flow_type=login&s_p=google%2Cfacebook%2Capple%2Cmicrosoft%2Cline%2Ckakao&response_type=code&code_challenge_method=plain&redirect_uri=https%3A%2F%2Fadobe.com&use_ms_for_expiry=true",
        "status": 302
      }
    ]
  },
  "security": {
    "score": 76,
    "grade": "B",
    "checks": [
      {
        "id": "hsts",
        "header": "Strict-Transport-Security",
        "weight": 25,
        "present": true,
        "value": "max-age=31536000; includeSubDomains; preload",
        "rating": "good",
        "message": "HSTS is enabled for 365 days. includeSubDomains and preload are set: the site can be added to browsers' preload lists."
      },
      {
        "id": "csp",
        "header": "Content-Security-Policy",
        "weight": 30,
        "present": true,
        "value": "report-uri https://auth.services.adobe.com/signin/v1/audit/csp-violation-report; report-to report_api",
        "rating": "ok",
        "message": "A Content-Security-Policy is set, but it does not restrict scripts (no script-src or default-src)."
      },
      {
        "id": "frame-options",
        "header": "X-Frame-Options",
        "weight": 15,
        "present": true,
        "value": "DENY",
        "rating": "good",
        "message": "Framing is limited (DENY), which blocks clickjacking."
      },
      {
        "id": "content-type-options",
        "header": "X-Content-Type-Options",
        "weight": 15,
        "present": true,
        "value": "nosniff",
        "rating": "good",
        "message": "MIME sniffing is disabled."
      },
      {
        "id": "referrer-policy",
        "header": "Referrer-Policy",
        "weight": 10,
        "present": true,
        "value": "no-referrer-when-downgrade",
        "rating": "weak",
        "message": "no-referrer-when-downgrade sends the full URL (path and query) to other sites."
      },
      {
        "id": "permissions-policy",
        "header": "Permissions-Policy",
        "weight": 5,
        "present": false,
        "rating": "missing",
        "message": "No Permissions-Policy: powerful browser features stay available to any embedded content."
      }
    ]
  },
  "caching": {
    "noStore": false,
    "noCache": false,
    "private": false,
    "public": false,
    "immutable": false,
    "mustRevalidate": false,
    "cacheability": "cacheable",
    "summary": "Cacheable for 30 seconds.",
    "cacheControl": "max-age=30,stale-while-revalidate=5",
    "maxAge": 30,
    "staleWhileRevalidate": 5,
    "etag": true,
    "lastModified": "Wed, 04 Nov 2026 10:18:33 GMT",
    "age": 20,
    "vary": "Accept-Encoding",
    "cdnStatus": "cf-cache-status: DYNAMIC"
  },
  "cookies": [],
  "server": {
    "versionDisclosed": false,
    "software": "cloudflare",
    "via": "1.1 5a846dcecbd8f1da6a7cd974344e91fa.cloudfront.net (CloudFront)",
    "cdn": "Cloudflare"
  },
  "content": {
    "type": "text/html",
    "encoding": "br"
  },
  "issues": [
    {
      "severity": "info",
      "code": "CROSS_DOMAIN_REDIRECT",
      "message": "The chain leaves the original registrable domain."
    }
  ],
  "notes": [],
  "statusText": "OK"
}

Next step

What this tool shows

Before a page appears, the server sends a status code and a set of headers: what kind of response it is, how long to cache it, which security rules apply, which cookies to set and where to go next. Browsers hide this by default. The HTTP headers checker makes the request from LookupOwl's server, follows any redirects, and shows each hop's status, the IP that answered, how long it took and every header.

Use it to debug caching and CDN (content delivery network) behaviour, confirm that security headers are really being sent, find out why a URL redirects somewhere unexpected, or see what a crawler or API client gets without installing anything.

How to use it

  1. Enter a URLType https://example.com/page or just example.com. A bare host is tried over HTTPS first, then over plain HTTP if HTTPS cannot be reached at all. Only public addresses on ports 80, 443, 8080 and 8443 are fetched.
  2. Pick a methodIn More options, choose GET or HEAD. GET shows what a browser would receive. HEAD asks the server for the headers only, which is lighter for large files, though a few servers answer it differently. You can also switch off Follow redirects there to see just the first response. Either way, LookupOwl reads only the headers and never downloads the page.
  3. Read each hopIf the URL redirects, every step appears with its own status and headers, ending at the final response. LookupOwl follows up to 10 redirects. For a closer look at chains and loops, use the redirect checker.
Shell
# The same check from a terminal
curl -sIL https://example.com
curl -s -o /dev/null -D - https://example.com

The headers worth knowing

HeaderWhat it doesWhat to look for
Cache-ControlSets how long browsers and CDNs may store the response.no-store disables caching, public, max-age=31536000, immutable suits fingerprinted assets, and private keeps it out of shared caches.
Content-TypeMedia type and character set.text/html; charset=utf-8 for pages. A wrong type breaks rendering.
Content-EncodingThe compression used.br or gzip on text responses saves bandwidth.
Strict-Transport-SecurityTells browsers to use HTTPS only (HSTS).A max-age of at least 15552000 (180 days) rates good, and a year is the usual advice. Add includeSubDomains if every subdomain supports HTTPS.
Content-Security-PolicyRestricts what the page may load or run.That it exists, and that its script sources are not a wildcard or 'unsafe-inline'.
X-Frame-OptionsStops other sites from framing the page (clickjacking).DENY or SAMEORIGIN, or a CSP frame-ancestors rule instead.
X-Content-Type-OptionsStops browsers guessing the content type.nosniff.
Referrer-Policy, Permissions-PolicyLimit what is leaked to other sites and which browser features are allowed.Deliberate values, not defaults.
Set-CookieCreates cookies.Secure, HttpOnly and SameSite attributes.
LocationWhere a redirect goes.The target URL, and whether it is the one you meant.
Server, X-Powered-ByThe software that answered.Version numbers you may prefer not to expose.
Vary, ETag, AgeCache keys, validators and the age of a CDN's copy.Why two visitors get different cached copies.
Alt-SvcAdvertises other ways to reach the site, such as HTTP/3.h3 in the value means the site offers HTTP/3.

LookupOwl also grades the final response on six security headers, weighted by importance: Content-Security-Policy 30 points, HSTS 25, frame protection 15, X-Content-Type-Options 15, Referrer-Policy 10 and Permissions-Policy 5. Each is rated good, ok, weak or missing, the total becomes a score out of 100, and the score becomes a grade from A+ (97 and up) down to F (under 40). Treat the grade as a checklist rather than a verdict, because a header can be absent for a good reason. If the last response is a redirect, for example because you switched off Follow redirects, there is no grade: its headers belong to the page it points to.

The result also summarises caching (max-age, no-store, validators), lists each cookie's name and flags, and names the server software or CDN when the headers give it away. The Cookies tab never shows cookie values, but the raw Set-Cookie lines do, so skim a result before you paste it into a public thread.

  • Status classes. 2xx means success, 3xx a redirect, 4xx a problem with the request (404 missing, 403 forbidden, 429 too many requests) and 5xx a server failure (500, 502, 503, 504).
  • Protocol. Each hop says it was fetched over HTTP/1.1, because that is the only version LookupOwl speaks, so it is not a sign of what the site supports. When the final response offers HTTP/2 or HTTP/3 in its Alt-Svc header, the answer at the top says so. The questions below say more.
  • Timing. Each hop's time runs from the start of the request to the arrival of the response headers, so it includes the DNS lookup, the connection and the TLS handshake. It is one measurement from one place: a hint, not a benchmark.

Problems you can diagnose

  • Stale content after a deploy. Look at Cache-Control, Age and ETag. A CDN may still hold the old copy.
  • HSTS missing. Without it, a first visit over HTTP can be intercepted before the redirect to HTTPS.
  • Cookies without flags. Session cookies that lack Secure or HttpOnly are easier to steal or leak.
  • A different result from my browser. The request comes from LookupOwl's server, not your device, and sites may serve different content to different clients or countries.
  • 403 or 429 from the site. Some sites block automated requests. That is the site's choice, and it is useful to know.
  • An error instead of headers. The checker verifies certificates, so an https:// address whose certificate fails shows an error, not headers. A bare host is retried over plain HTTP, and the result says what failed. Use the SSL checker to see what is wrong.
  • Cannot connect. The address may be blocked (private or loopback), on a port other than 80, 443, 8080 or 8443, or the server may be down. Check its DNS records.

How the fetch works

LookupOwl looks up the hostname once, checks that every address it returns is public, then connects to that exact IP so DNS cannot be swapped underneath it. It sends one GET or HEAD request per hop, with a user agent that names LookupOwl and points to the About page, and follows redirects itself, re-checking each new host. It reads the headers and hangs up, so no page is downloaded. Requests to private, loopback or reserved addresses are refused. Fresh checks of any one server or domain are limited to 30 a minute across all callers, so the tool cannot be used to flood a site. Results are cached for two minutes, and Check again fetches a fresh one.

Standards

  • RFC 9110: HTTP semantics, methods, status codes and header fields. RFC 9111: caching.
  • RFC 9112: HTTP/1.1, the version LookupOwl speaks. RFC 9113 and RFC 9114: HTTP/2 and HTTP/3. RFC 7838: Alt-Svc.
  • RFC 6797: HTTP Strict Transport Security. RFC 6265: cookies.
  • IANA HTTP Field Name Registry: the list of registered header names.

Questions people ask

How do I check the HTTP headers of a website?

Enter its URL above. You get the status code and every response header, including those of each redirect on the way, plus a security grade and a caching summary for the final response. You also see which IP answered and how long each hop took.

What is the difference between GET and HEAD?

GET asks the server for the full response, while HEAD asks for the headers only. The headers are normally identical, but some servers differ, especially for dynamic pages. LookupOwl reads only the headers either way, so GET is the better default: it shows what a browser would get.

Why is my security grade low when my site works fine?

The grade only counts which protective headers you send, not whether the site works. Missing headers cost points because browsers cannot use protections you never switched on, and a Content-Security-Policy and HSTS weigh the most. Add what suits your site and ignore items that do not apply, such as framing rules for a page meant to be embedded.

Why are my security headers missing from the result?

They may be set on the application but stripped by a proxy, set only on some paths, or set only for certain content types. Check the exact URL, including the final one after redirects, because the grade applies to the last response.

Can I check a page behind a login?

No. Every request is anonymous: LookupOwl sends none of your cookies or credentials and no custom headers, only a fixed user agent, Accept: */* and Accept-Encoding. For pages behind a login, use curl or your browser's developer tools, where you can send your own cookies and see exactly what comes back.

How can I tell if a site uses HTTP/2 or HTTP/3?

Not from this page, because LookupOwl always speaks HTTP/1.1. For HTTP/2, the SSL checker shows the protocol the server picks (h2) on port 443. For HTTP/3, the answer at the top shows an Offers HTTP/3 badge when the Alt-Svc header says so, or you can watch the protocol column in your browser's network panel.

Is it available to AI assistants?

Yes, through the http_headers tool on the free MCP server and REST API. No key is needed, and fresh checks of any one site are limited to 30 a minute across all callers. The assistant gets the hops, the security grade and the caching summary as structured data.

Use it from AI, the API or the command line

Every LookupOwl tool is also a free API and an MCP tool, with no key and no account. This one is http_headers. Please be kind to the rate limits.

curl
curl "https://lookupowl.com/api/v1/tools/http-headers?q=https%3A%2F%2Fexample.com%2F"
MCP
claude mcp add --transport http lookupowl https://lookupowl.com/mcp