Request Methods
As
described 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
; it 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 always sends them as part of the body
(additionally, it can 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. Since the
GET
request uses a query string to pass
parameters, 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 ...
Get JavaServer Pages, 3rd Edition 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.