Frameset pages often need to display dynamic content – for example, a header that changes based on time, a footer with last‑modified date, or menu items pulled from a configuration file. By using .shtml for your indexframe , you can:
The Evolution of Web Architecture: From Indexframes to Modern Single-Page Applications view indexframe shtml link
Execute arbitrary shell commands on the server ( ). Frameset pages often need to display dynamic content