High order e Callback functions

Qual é a diferença entre high order function e callback function? Estou estudando sobre isso e estou tendo dificuldades para entender. Se alguém poder ajudar eu ficaria grato!