Eu sempre pensei que o "cabeçalho" de uma fila era o próximo elemento a ser lido, e nunca questionei esse uso. Portanto, uma biblioteca de lista vinculada que escrevi, usada para manter filas, codificou essa terminologia: temos uma list1_headmacro que recupera o primeiro elemento; ao usar esta biblioteca em uma fila, este será o primeiro elemento a ser removido.
Mas um novo desenvolvedor da equipe estava acostumado a ter filas implementadas ao contrário. Ele descreveu uma fila como se comportando como um cachorro: você insere na cabeça e remove na cauda. Essa é uma descrição suficientemente inteligente para que eu ache que o uso dele deve ser mais difundido e não tenho uma descrição igualmente sugestiva do uso preferido.
Então, acho que existem duas questões relacionadas: 1, o que o "cabeçalho" de uma fila significa para você? e 2, por que usamos a palavra "cabeça" para descrever esse conceito?