Also technisch gesehen muss keine HTML Datei existieren. Theoretisch kann eine Website auch mit nur einer einzigen ausführbaren Datei verfügbar gemacht werden. Diese eine Datei kann auch vollständig in Binarcode sein. Nicht falsch verstehen im Browser kommt am Ende trotzdem irgendwann ein HTML Document (keine Datei) an, dieses ist aber unter Umständen komplizierter entstanden.
Klassisch liegen die Dateien, auf welche verwiesen werden, auf einem Webserver und diese werden dann vom Browser angezeigt. Auch hier kannst du entweder für den Besucher sichtbar (redirect) oder unsichtbar (rewrite) auf eine andere Datei verweisen.
Du kannst auch innerhalb einer Seite Links erstellen. Diese nennt man Anker. Es gibt hier bereits einen Link als Antwort darum suche ich mal keinen raus. Damit an einen bestimmten Punkt gesprungen wird, musst ein anderes Element das attribute "id" (oder "name") haben.
Wie ich eine deiner Antworten interpretiere, willst du auf einen Link klicken und ohne reload der Seite irgendetwas verändern. Das ist dann meistens nur über Javascript möglich. Das ist auch das Grundprinzip von "Single Page Applications". SPAs werden dann aber nichtmehr (nur) in Html geschrieben sondern erfordern auch andere Sprachen wie Javascript bei Angular oder React oder C# bei Blazor.