POST and GET are not two ways to do the same thing.
While the end result seems to be the same thing, the subtle differences are very important. POST should be used when you are sending data to the the server to be processed, saved, etc. GET should be used when requesting dynamic information from the server. In effect, GET tells the server what YOU want. POST tells the server what IT wants.
Why? Well, the short answer would be to say that web pages are RESTful services. You can read up on REST here. But that answer sucks. It can be tempting to always use POST because it keeps your URL pretty and clean without ?a=bunch&of=unreadble text. But perhaps the best reason to give as a concrete why, is the way browsers will handle the information. When you POST data, the browser assumes that you won't want to post it again. It will pop up a waring to the user asking something to the effect of "Do you want to submit this information again?"
If you follow the concept that POST is for submitting data such as: creating a user account, entering shipping information, logging in... you will find that this behavior from the browser is in line with your web application.
GET on the other hand sends it's information in the the URL string. While this can look a bit ugly. The pages work much like static pages, and this sort of behavior is much more appropriate when doing things like navigating search results (users may want to return to previous results) or loading articles or other task where you are GETting something.
So, try to keep in mind when choosing a form method, are you sending information to the server or are you asking for information.
Why? Well, the short answer would be to say that web pages are RESTful services. You can read up on REST here. But that answer sucks. It can be tempting to always use POST because it keeps your URL pretty and clean without ?a=bunch&of=unreadble text. But perhaps the best reason to give as a concrete why, is the way browsers will handle the information. When you POST data, the browser assumes that you won't want to post it again. It will pop up a waring to the user asking something to the effect of "Do you want to submit this information again?"
If you follow the concept that POST is for submitting data such as: creating a user account, entering shipping information, logging in... you will find that this behavior from the browser is in line with your web application.
GET on the other hand sends it's information in the the URL string. While this can look a bit ugly. The pages work much like static pages, and this sort of behavior is much more appropriate when doing things like navigating search results (users may want to return to previous results) or loading articles or other task where you are GETting something.
So, try to keep in mind when choosing a form method, are you sending information to the server or are you asking for information.

