Usually, your web application is published as: www.yoursite.com/. The ~ character matches the root of the site /.
However, if you publish your site withing a virtual directory www.yoursite.com/mywebapp/, the the ~ character would match “/mywebapp/”.
Hard-coding Urls with “https://stackoverflow.com/” character would cause wrong page references.