served/404-contract
Unknown paths return a real 404 status. Reglen served/404-contract kører i served-scope med severity 'error' og indgår i servering-domænet sammen med 4 andre kontrakter i frameworket.
Hvorfor 404-contract findes
A host serving 200 for non-existent paths (soft-404) creates an infinite space of indexable duplicate URLs and poisons crawl budget. The status code must be 404 — the page body can still be branded and helpful.
Sådan håndhæves 404-contract
Reglen 404-contract evalueres mod den kørende server, fordi kravet bor i response headers eller statuskoder, som den statiske HTML ikke kan bære. Fejler en side, får agenten en finding, hvor fix-instruktionen for 404-contract er formuleret som en konkret arbejdsordre med filnavne og målbare krav — aldrig et vagt råd. Severity 'error' betyder at et brud på 404-contract fejler hele verifikationen med exit-kode 1, så hverken CI eller en agent kan skibe sitet før fundet er rettet.
Domænet: servering
Served-domænet verificerer det, HTML'en ikke kan bære: security headers, CSP-kvalitet, HSTS, komprimering og ægte 404-statuskoder. Reglerne kører mod den levende server og parres med adapters-pakken, der genererer host-konfigurationen fra én kanonisk kilde. Netop derfor hører 404-contract hjemme her: kravet kan afgøres maskinelt, og dermed kan det håndhæves i stedet for blot at blive anbefalet.
Test og fixtures
Som alle kontrakter i frameworket har served/404-contract en mutant-test, der beviser at reglen fejler, når kravet brydes — en regel uden en fejlende test er ikke en regel. Golden-fixturet beviser omvendt, at en fuldt compliant side består 404-contract sammen med de øvrige 85 regler, og denne demoside er selv underlagt hele kontrakten.
Relaterede regler
Tilbage til oversigten over alle 86 regler.