HEAD / returns 405 Method Not Allowed (RFC 7231 violation)RFC 7231 §4.3.2 requires that any resource that supports GET MUST also support HEAD. Currently CDN edge probes, link checkers, monitoring tools, and HEAD-based prefetch fail.
Reproducer
$ curl -I https://omnisee.io/
HTTP/1.1 405 Method Not Allowed
allow: GET
$ curl -s -o /dev/null -w "%{http_code}\n" https://omnisee.io/
200
Impact
• Breaks monitoring tools, link checkers and CDN edge probes that issue HEAD.
Fix
On Starlette/FastAPI, add a HEAD route that mirrors GET (use methods=["GET","HEAD"]), or have nginx synthesise HEAD by stripping the body from GET.

I actually think this issue is bigger than just an RFC compliance problem. A lot of components rely on
requests before making full
requests. We are talking about uptime monitors, SEO crawlers, CDN validation systems, performance scanners, SM bots and even some wallet security integrations. Reachability tests for these start at
. It's obvious that some automated systems may assume although incorrectly that the site is down, misconfigured, or blocking traffic. This is simply Because the server currently returns
Method Not Allowed while GET works normally.
The report screenshot also shows the server explicitly advertising allow
, which confirms the framework routing layer is rejecting
before application logic is reached. You may be aware that some frameworks like FastAPI,
is not always automatically enabled. So what we have here is more of a routing configuration issue than a simple missing method.
Another detail the report doesn't have is caching/CDN behavior. Some CDN edge nodes and cache validators use
requests to validate freshness or content existence without downloading the full response body. Returning
can interfere with cache warmups, health checks and optimization workflows. This can indirectly affect reliability even if users do not immediately notice the problem.
We can also view the report from the information disclosure angle. Returning a framework-generated
instead of handling
may expose differences in backend behavior compared to proxied or CDN-cached responses. If I'm attacking this infrastructure, I'd be testing unsupported HTTP methods and comparing headers, allowed verbs, and response structures.
A practical improvement for this section would be testing all major routes, not just /. Patching only the homepage while API endpoints still reject HEAD wouldn't fully cut it. A good approach would be:
Enable automatic
handling globally for all
routes.
Verify responses preserve the same headers as
while stripping only the body.
Ensure CDN/proxy layers do not override or block
.
Regression tests should be added so that future routes inherit proper behavior automatically.