I am new in SharePoint and I want to know the difference between `SPContext.Current.Site.Url, SPContext.Current.Web.Url and SPContext.Current.Site.RootWeb` ?

Please help me to know the difference between them.