a common mistake is to take a layered design as a requirement for a correspondingly layered implementation
From Gaining Efficiency in Transport Services by Appropriate Design and Implementation Choices, by Watson and Mamrak, ACM TOCS, 1987.
Compare and contrast;
Specifically, Internet based efforts (including the Web, of course) always start with an interface constraint. This is simply for the reason that they’re (usually) always focused on a single task – for example, email exchange, mail folder access and synchronization, file transfer – and pay little to no attention to what it means to define interoperability between those applications, since that’s tangential to their primary objective. A consequence of this approach is that there becomes little value in using a common sub-layer-7 protocol (like BEEP, IIOP, or how most people use SOAP).