# checker-http HTTP/HTTPS server checker plugin for [happyDomain](https://happydomain.org). Probes the `abstract.Server` it is attached to over HTTP (port 80) and HTTPS (port 443) and evaluates a battery of independent rules on the response. Deep TLS / certificate analysis is intentionally **delegated to [checker-tls](https://git.happydns.org/checker-tls)** - this checker only relies on TLS for transport. ## What it checks | Rule | What it verifies | | --------------------------------- | --------------------------------------------------------------------------------- | | `http.tcp_reachable` | Port 80 accepts connections on every A/AAAA address. | | `https.tcp_reachable` | Port 443 accepts connections on every A/AAAA address. | | `http.https_redirect` | Plain HTTP redirects to HTTPS (warning if not). | | `http.hsts` | `Strict-Transport-Security` is present with a sufficient `max-age`. | | `http.csp` | `Content-Security-Policy` is set; flags `'unsafe-inline'` / `'unsafe-eval'`. | | `http.x_frame_options` | `X-Frame-Options` or CSP `frame-ancestors` provides clickjacking protection. | | `http.x_content_type_options` | `X-Content-Type-Options: nosniff` is set. | | `http.x_xss_protection` | Reports the legacy `X-XSS-Protection` header (recommendation: disable). | | `http.cookie_flags` | Every Set-Cookie has `Secure`, `HttpOnly`, and a `SameSite` attribute. | | `http.sri` | Cross-origin `