It's implemented this way for balance of a simple implementation and how lightweight it is. Not to mention, there is at least one benefit: the voting mechanism doesn't depend on JavaScript.
And if you are not authenticated, you are instead taken to a login page. Logging in then gives you the redirect and the upvote is registered.
And if you are not authenticated, you are instead taken to a login page. Logging in then gives you the redirect and the upvote is registered.