HTTP stands for HyperText Transfer Protocol. It works like a filter, which adds instead of substracts, between the client and the server. The HTTP determines the result, of your request, in the browserwindow - the status code.
The "client" is what we call your webbrowser. A request is send to the server, when you type in your adress bar.
As the request goes through the HTTP, new features are added to the request. These function like modifiers.
1. Feature is the MIME-type, which provide an open and flexible exchange of data and type, between client and server
2. Is the Characther Set, this is a feature set according to the client, but if nothing is specified, the default is US-ASCII.
3. GMT is the feature, that determines time and date information.
4. URI is a "string" which is used by the server to identify the resource of the request. It contains information such as name and location.
5. Language tag, indicate the language of a text in HTML and XML document.
All of these additionel features forms the request into a kind of "package", which is sent further on to the server
The crucial quality about the HTTP protocol, compared to other web-protocols, is that it only connects to the server the very second the exchange of request/respond is taking place. This means that there is no constant connection between client/server during the exchange of the request/respond. This makes HTTP very flexible and efficient protocol. Therfor we say that HTTP is connectionless, mediaindependent (means that you can transfer any kind of data through the protocol) and Stateless (means that any memory of the exchange is erased, the second the respond ends up on the cliets screen in the form of a Status code).
Request is recieved by the server
The Server adds even more features/modifiers on the request.
These are namely:
1. Entity body content. This is not obligatory, for every response but, an entity consists of entity-header fields and an entity-body. This can refer to both the client and the server.
2. Status Line. This consists of the protocol version followed by a numeric status code and its associated textual phrase
3. A Successor/Error Status code for wheter the overall communication worked or not. This is a 3 digit characther where the first digit determines the class of the response.
4. A message protocol, the same as a MIME, only its containing information about the server.
The server processes the request...
The response is than sent out, as an even bigger package.
The response reaches the client
Finally the response becomes a status code.
The 5 Kinds of Status codes are:
400 Client Error
500 Server Error
Among common Status Codes are 200 - OK. This is the standard response for a successful HTTP requests.
301 - Moved Permanently. This means that all future requests should be directed to the given URI in the message.
404 - Not Found. This means that the requested resource (within the URI) couldnot be found on the given time, but possible will be available in the later.
500 - Internal Server Error. This is the message given when the server encountes an unexpected problem during the exchange. The Error might then very well be in the MIME-type sent from the server.