Muy bien explicado en este artículo.