Hashbang is a programming pattern used to load content using Ajax in such a way that machines (like google bots) can index this content.
Pushstate is a javaScript API function meant to store a specific state of the current page in the window.history object so that you can go back to that state using the back button.