Advanced Java and Web Technologies for JNTUK
Blog providing beginner tutorials on different web technologies like HTML, CSS, Javascript, PHP, MYSQL, XML, Java Beans, Servlets, JSP and AJAX

19/01/2014 Categories: HTML. No Comments on HTTP Protocol

All web communications use the same protocol HTTP. Latest version of HTTP is 1.1 released in 1999. A HTTP communication consists of two phases: a request (from client to server) and a response (from server to client). In both the request and response phases, the unit of communication contains two parts: one is the header and the other is the body part.

The format for a HTTP request is shown below:

HTTP-request-method  Resource-path  HTTP-version

Header fields

Blank line

Body of the request

According to HTTP 1.1 there are several request methods, among which some important methods are listed below:

http-request-methods

Among the HTTP request methods mentioned above, GET and POST are the most frequently used methods. After the first line, the request message contains request header, which contains different fields known as the header fields. Each header field is a key-value pair. The format of a header field is header field name followed by a colon and a value.

Some of the frequently used header fields are: Accept (which specifies the MIME types supported by the browser), Host (which specifies the name of the host), Content-length (which specifies the no of characters in the body of the request message).

Below is an example which shows a live example of HTTP request message and HTTP response messages:

http-request-response-example

The general format of a HTTP response is shown below:

Status line

Header fields

Blank line

Body of the response

The status line contains information like HTTP version, Status code and Short message corresponding to the status code. Well known status codes and corresponding status messages  are 200 (success), 301 (redirection), 404 (Page not found) and 500 (Internal server error).

After the first line (status line), a response message contains a set of fields which is known as the response header. Frequently used fields in the response header are: Server (which specifies information about the web server), Last-modified (which specifies the date on which the requested resource was last modified), Content-length (which specifies the length of the content in the body of the response message) and Content-type (which specifies the MIME type of the content in the body part of the response message).

 

Difference between HTTP GET and POST:

Although the HTTP and GET and POST can be used to send requests (data) to a web server, there are some subtle yet, important differences between them which are specified below:

  • The data sent through GET request can be seen by the user in the address bar of the browser, as the data will be sent as a query string. In a POST request, the data sent by the user is hidden.
  • HTTP GET is less secure (refer to the first difference) when compared to HTTP POST.
  • Web servers will have limited buffer size (typically 512 bytes) for receiving the query string sent by the user using HTTP GET. If data sent by the user exceeds the buffer size, the data may be truncated or the server might crash or the server might be led to run some hidden code as part of the query string data. The last case is the so-called buffer overflow problem, a common way used by the hackers to take control of the servers and spread virus and worms. There are no restrictions on the amount of data that can be sent using HTTP POST.
Suryateja Pericherla

Suryateja Pericherla

Hello, I am Suryateja Pericherla working as an Asst. Professor in CSE department at Vishnu Institute of Technology. I write articles to share my knowledge and make people knowledgeable regarding certain topics.
Suryateja Pericherla

Latest posts by Suryateja Pericherla (see all)

Note: Do you have a question on this article or have a suggestion to make this article better? You can ask or suggest us by filling in the below form. After commenting, your comment will be held for moderation and will be published in 24-48 hrs.

Leave a Reply

Scroll Up
Thank you for visiting startertutorials.com! If you like this website do share with your friends by clicking on the social icons available on the left hand side.

As the domain name is quite large to remember, use this short domain to visit this site. Short domain: stuts.me