Request Methods
As mentioned
earlier, GET
is the
most commonly used request method, intended to retrieve a resource
without causing anything else to happen on the server. The
POST
method is
almost as common as
GET
. POST
requests some kind of
processing on the server; for instance, updating a database or
processing a purchase order.
The way parameters are transferred is one of the most obvious
differences between the GET
and
POST
request methods. A GET
request always uses a query string to send parameter values, while a
POST
request sends them as part of the body (it
can also send some parameters as a query string, just to make life
interesting). If you insert a link in an HTML page using an
<a>
element, clicking on the link results in
a GET
request being sent to the server. The
GET
request uses a query string to pass
parameters, so you can include hardcoded parameter values in the link
URI:
<a href="/forecast?city=Hermosa+Beach&state=CA"> Hermosa Beach weather forecast </a>
When you use a form to send user input to the server, you can specify
whether to use the GET
or POST
method with the method
attribute, as shown here:
<form action="/forecast" method="POST"> City: <input name="city" type="text"> State: <input name="state" type="text"> <p> <input type="SUBMIT"> </form>
If the user enters “Hermosa Beach” and “CA” in the form fields and clicks on the Submit button, the browser sends a request message like this to the server:
POST /forecast HTTP/1.1 Host: www.gefionsoftware.com User-Agent: ...
Get JavaServer Faces now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.