There was nothing HTTP.
- Then we implemented "
500 Internal Server Error" because we do not know what this request is. So we learn how to handle requests. - Then we implemented "
404 Not Found" because the URI in this request is not known on the server. So we learn how to route them. - Then we implemented "
403 Forbidden" because we didn't know yet if we had the right to access the content of this page. - Then we implemented "
401 Unauthorized" because we had to make sure that the request is made with the right credentials. Being accessible to all is a decision, not a default. - Then we implemented "
204 No Content" because there was no representation for this URI. - Then we implemented "
201 Created" because we had to make it possible for people to add something at this URI. So we allow for content creation. - Then we finally implemented "
200 OK" because we can give access to the content.
PS: Do not take this too seriously. Really.