An Inn was somewhere that provided accommodation and usually (but not always) food and drink. A tavern was a place that sold drink and ussually food but didnt provide accommodation. A pub is short for a public house which began as literally a house where they had acquired a licence to sell alcohol.