hola,
al ponerle height:100%, no le estas dando el 100% RESTANTE desde header al pie de página.
Si mi resolución es de 750px de altura, el div main tendrá height:750px con lo cual tenemos la altura de header + toda mi resolución.
Una posible solución (mientras no tengas contenido) para que el footer quede abajo: