If web.config contains a <httpHandlers> or <httpModules> section, that section must contain a <remove... /> or a <clear /> element.
This basically forces developers to explicitly enable inheritance in nested virtual directories. In 99% of cases this developers won't use inheritance on these two sections, however it causes issues when somebody wants to add a module or handler to the parent virtual directory.
<configuration><system.web><httpHandlers><add verb="*"path="*.New"type="MyHandler.New,MyHandler"/><add verb="GET,HEAD"path="*.MyNewFileExtension"type="MyHandler.MNFEHandler,MyHandler.dll"/></httpHandlers><system.web></configuration>
❌ Figure: Bad example
<configuration><system.web><httpHandlers><clear/><add verb="*"path="*.New"type="MyHandler.New,MyHandler"/><add verb="GET,HEAD"path="*.MyNewFileExtension"type="MyHandler.MNFEHandler,MyHandler.dll"/></httpHandlers><system.web><configuration>
✅ Figure: Good example