Entendiendo el atributo del servidor de ejecución

Soy realmente nuevo en ASP.NET. Estaba comprobando una aplicación web predeterminada ASP.NET. Viene por defecto con algunas páginas (Default.aspx, About.aspx, etc.).

Noté que el archivo Site.master es el archivo donde creo el diseño principal de mis páginas. Pero también me di cuenta de que lahead la etiqueta tiene unrunat="server" atributo.

Sé que esta etiqueta se utiliza en<asp:XXX> etiquetas, pero ¿por qué en una<head> ¿¿¿etiqueta???

Además, cuando elimino ese atributo, todos los estilos desaparecen de la página web. Así que aparentemente está haciendo algo. Simplemente no entiendo lo que está haciendo exactamente ...

Entonces, ¿por qué está ahí, en una etiqueta HTML ...? No veo ningún código allí que deba ejecutarse en el servidor ...

<head runat="server">
    <title>Hallo</title>
    <link href="~/Styles/Site.css" rel="stylesheet" type="text/css" />

    <!-- This part is run on the server. So why does the head tag
         also need a runat=server ?? -->
    <asp:ContentPlaceHolder ID="HeadContent" runat="server">
    </asp:ContentPlaceHolder>
</head>

Respuestas a la pregunta(4)

Su respuesta a la pregunta