what the difference between push and replace
History Push The user can go forward and backward in the browser and the
url will change. It works like a programmatic link with no affect on
current url.
Location Replace The link of the page is set to the new one, but the user
can't go between the replaced.