black hat seo and white hat seo

What is black hat seo and white hat seo and what is the different between them?