Erst bei XHTML wäre das verboten. HTML ist eine reine SGML-Anwendung, damit sind auch alle „Features“ von SGML erlaubt.
Dass die Tags von html und body optional sind, ist in der DTD festgelegt. (Ja, optionale Tags gibts bei XML prinzipiell nicht.) D.h. man könnte sie natürlich auch zwingend erforderlich machen.
In HTML sind nicht alle Features von SGML erlaubt, sondern nur die, die in der SGML-Deklaration für HTML »angeschaltet« sind. D.h. man kann diese ändern, wenn man sich selbst strengere HTML-Regeln auferlegen will.
Mathias