Friday, April 13, 2012

What is the difference between HTTP-Post and HTTP-Get?

There are two common ways to pass data from one page to another, using http Get and Post methods. In Get method, data passed to server using URL encoding. So with Get method data added in URL as query string.

As their names imply, both HTTP GET and HTTP POST use HTTP as their underlying protocol. Both of these methods encode request parameters as name/value pairs in the HTTP request.
The GET method creates a query string and appends it to the script's URL on the server that handles the request.
The POST method creates a name/value pairs that are passed in the body of the HTTP request message.

In correlation with ASP.NET, retrieving data passed through HTTP Get and Post methods is quite simple. If data passed with Get method we need the following code to retrieve the data:

Page.Request.QueryString [<param>];

If data passed with Post method we need the following code to retrieve the data:

Page.Request.Form[<param>];

GET Method:

1. All the name value pairs are submitted as a query string in URL.

2. It's not secured as it is visible in plain text format in the Location bar of the web browser.

3. As the data transfers through address bar (URL) there are some restrictions in using space, some characters like ampersand (&) etc in the GET method of posting data. We have to take special care for encoding data if such special characters are present.

4. Length of the string is restricted to 255 characters.

5. If method is not mentioned in the Form tag, this is the default method used.

6. If get method is used and if the page is refreshed it would not prompt before the request is submitted again.

7. One can store the name value pairs as bookmark and directly be used while sharing with others - example search results.

8. Data is always submitted in the form of text

9. If the response of the page is always same for the posted query then use GET example database searches

POST Method:

1. All the name value pairs are submitted in the Message Body of the request.

2. Length of the string (amount of data submitted) is not restricted.

3. Post Method is secured because Name-Value pairs cannot be seen in location bar of the web browser.

4. If post method is used and if the page is refreshed it would prompt before the request is resubmitted.

5. If the service associated with the processing of a form has side effects (for example, modification of a database or subscription to a service), the method should be POST.

6. Data is submitted in the form as specified in enctype attribute of form tag and thus files can be used in FileUpload input box.

No comments:

Post a Comment