computerscience.co.uk

Reference · Tool

HTTP status & redirect checker

Enter any URL to see its HTTP status and follow the whole redirect chain, with the status, time and response headers at every hop. Every check also grades the final response's security headers, including a full parse of HSTS (max-age, includeSubDomains, preload), and reads the page's SEO signals. Tick the box and it will check whether a site is ready for AI agents too. Paste several URLs to check them in bulk. Free, no sign-up, and there is a documented API you can call from your own code.

The API

The checker is powered by a free, CORS-open endpoint you can call directly. No key, no rate card. Please be reasonable with it.

GET https://computerscience.co.uk/api/check?url=<url>

# options
&method=GET|HEAD          # request method (default GET)
&ua=chrome|googlebot|gptbot|bingbot|iphone|curl|default
&agent=1                  # also check llms.txt + markdown negotiation

Example:

$ curl "https://computerscience.co.uk/api/check?url=google.com"

Returns JSON: the full chain (per-hop url, status, latencyMs, headers), finalUrl, finalStatus, redirects, security, and, when requested, page (title, canonical, robots) and agent readiness. Follows up to 10 hops. Private and internal hosts are refused.

The security block is always included and is read from the final response, so it costs no extra request:

"security": {
  "hsts": {
    "present": true,
    "maxAge": 15552000,          // seconds, or null if absent/unparseable
    "includeSubDomains": true,
    "preload": false,
    "raw": "max-age=15552000; includeSubDomains"
  },
  "nosniff":        { "present": true,  "raw": "nosniff" },
  "xFrameOptions":  { "present": false, "raw": null },
  "referrerPolicy": { "present": false, "raw": null },
  "csp":            { "present": false, "raw": null },
  "score": 65,
  "grade": "C",                  // A ≥ 90, B ≥ 75, C ≥ 55, else D
  "notes": ["No Referrer-Policy header, so the browser default decides …"]
}

Strict-Transport-Security is parsed properly: directives are case-insensitive and may arrive in any order, and a quoted max-age is unquoted for you. A missing or invalid max-age reports as null, because browsers throw the whole header away in that case, and max-age=0 is reported as the switch-off it is rather than as a policy. Missing preload never costs a point: staying off the preload list is a legitimate choice. If frame-ancestors is in your CSP, a missing X-Frame-Options costs nothing either. On a URL that ends up on plain HTTP the grade says so, since HSTS cannot apply there at all.

What each status class means

Every code the checker reports links to its explainer. In short: 2xx means success, 3xx is a redirect, 4xx is a problem with the request, and 5xx is a server error. The full list is on the HTTP status codes reference, with detail pages for the ones worth knowing well such as 301, 404 and 429.