The status code that we saw in that previous response is very important, because it tells the client the result of the response. Did it work? Did it not? Is there something else to do?Every status code that is standard falls into one of these five categories.If the status code is in the range of 100 to 199 inclusive, it's an informational status code.The 200 range is the good range. That means the request was successful. Anything that starts with a 3 is going to be some sort of redirection, either a permanent redirect or a temporary redirect. 400 means the client did something wrong. It might have been a bad request. It might have been a request for a resource that doesn't exist.And 500 and up means something went wrong on the server. There was an application logic error, an unknown exception, the server is on fire. And here are some of the common status codes that you will see.Status code 200 -- reason OK -- is the best one. That means everything was successful.301 is the redirection that you issue from the server, when you want the browser to go to another location to find the resource and never check the original location. That's done for search engine optimization quite a bit. That's what we saw demonstrated in the beginning with our Telnet session. We had a 301 redirect.That's slightly different than a 302 redirect. That means the resource has moved, but it's OK to check that location again, to see if the resource is there some time later. I will show you a specific example of where a 302 redirect happens here, in just a minute.304 means you have requested a resource and you have said, if it has not changed since such and such a date, with the If-Modified-Since header, then don't make me pull down the full resource. In that case, if the server detects that, indeed, the resource has not changed, it will just send back a 304, not modified, which means use whatever you have cached locally. It's still good. The 400 series of errors include 400, bad request. That is what happened if you perhaps send an HTTP request that is not using the proper syntax. 401 is an unauthorized request. The client might need to provide some credentials, before they can access this resource. We will talk about security in a later module.403 is just a flat-out refusal. you have tried to gain access to something that we do not want you to have access to, and there's no possibility to get to this resource. And then there's the infamous 404, which means you have requested something that is not there. The server could not locate it. 404 is considered a client error. The two most popular serve error are 500, meaning internal server error. That could be because you had an exception inside of your application code, and the server was unable to complete the response. It could also be a bug or a problem in the server software itself.And then there is a 503 status -- service unavailable. Some services will return a 503, when they are under heavy load and can't handle any additional connections, can not process any additional requests. And it's essentially telling the client, we are having a problem, please try again later. And now that we know a lot more about the request message and the response message, let's actually use a tool that can show us real requests and responses in a browser-server interaction.