There are a lot of different types of 500 status error codes (500, 501, 502, 503, 504, etc.) and they all mean something different. It could be a 200 status code which means “Everything is OK” or a 500 status code which means something has gone wrong.
A status code is a way to notify you about the status of the request. The HTTP also includes what they call an HTTP status code. The server takes this request, processes it, and sends back the requested resources (PHP, HTML, CSS, etc.) along with an HTTP header.
When you visit a website your browser sends a request over to the server where the site is hosted.