Difference between .xinitrc, .xsession and .xsessionrc

I found three configuration files. .xinitrc .xsession .xsessionrc I know that the first one is for using startx and the second and third are used when using a display manager. But what is the