A redirect (to https, or anywhere else) is a "302" return code from the server
https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
which your browser honors, and then re-requests the redirected page.
If "nikto [...scans...] the site at port 80 [and] list a lot of vulnerable links"
then the server is still returning a page. You would need to use a modified web client which doesn't follow the "302" redirect, the way nikto apparently isn't.
That still seems odd though, as most web serves which send a redirect do not also send the original/old page. You may want to be sure nikto isn't just showing you the contents of the page after silently following the redirect to the https site.
Finally, the software running port 80 and 443 might be the same. A single web server can handle both http and https connections, and serve out the same or different pages in response