Entendendo o atributo do servidor runat

Eu sou realmente novo no ASP.NET. Eu estava apenas verificando um aplicativo da Web ASP.NET padrão. Ele vem por padrão com algumas páginas (Default.aspx, About.aspx etc).

Notei que o arquivo Site.master é o arquivo onde eu crio o layout principal para minhas páginas. Mas também notei que ohead tag tem umrunat="server" atributo.

Eu sei que esta tag é usada em<asp:XXX> tags, mas por que em um<head> tag ???

Além disso, quando eu removo esse atributo, todos os estilos desaparecem da página da Web. Então, aparentemente, está fazendo alguma coisa. Eu só não entendo o que exatamente está fazendo ...

Então, por que está lá, em uma tag HTML ... ??? Eu não vejo nenhum código lá que deve ser executado no 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>

questionAnswers(4)

yourAnswerToTheQuestion