HTTP Methods GET vs POST

2013 年 4 月 23 日5240

HTTP Methods: GET vs. POST

« Previous

Next Reference »


The two most used HTTP methods are: GET and POST.


What is HTTP?

The Hypertext Transfer Protocol (HTTP) is designed to enable

communications between clients and servers.

HTTP works as a request-response protocol between a client and server.

A web browser may be the client, and an application on a

computer that hosts a web site may be the server.

Example: A client (browser) submits an HTTP request to the server; then the server

returns a response to the client. The response contains status information about

the request and may also the requested content.


Two HTTP Request Methods: GET and POST

Two commonly used methods for a request-response between a client and server

are: GET and

POST.

GET - Requests data from a specified resource

POST - Submits data to be processed to a specified resource


The GET Method

Note that query strings (name/value pairs) is sent in the URL of

a GET request:

/test/demo_form.asp?name1=value1&name2=value2

Some other notes on GET requests:


The POST Method

Note that query strings (name/value pairs) is sent in the HTTP message body of a POST request:

POST /test/demo_form.asp HTTP/1.1

Host: w3schools.com

name1=value1&name2=value2

Some other notes on POST requests:


Compare GET vs. POST

The following table compares the two HTTP methods: GET and POST.

GET POST

BACK button/Reload

Harmless

Data will be re-submitted (the browser should alert the user that the data are about to be re-submitted)

Bookmarked

Can be bookmarked

Cannot be bookmarked

Cached

Can be cached

Not cached

Encoding type

application/x-www-form-urlencoded

application/x-www-form-urlencoded or multipart/form-data. Use multipart

encoding for binary data

History

Parameters remain in browser history

Parameters are not saved in browser history

Restrictions on data length

Yes, when sending data, the GET method adds the data to the URL; and the

length of a URL is limited (maximum URL length is 2048 characters)

No restrictions

Restrictions on data type

Only ASCII characters allowed

No restrictions. Binary data is also allowed

Security

GET is less secure compared to POST because data sent is part of the URL

Never use GET when sending passwords or other sensitive

information!

POST is a little safer than GET because the parameters are not stored in

browser history or in web server logs

Visibility

Data is visible to everyone in the URL

Data is not displayed in the URL


Other HTTP Request Methods

The following table lists some other HTTP request methods:

Method Description

HEAD

Same as GET but returns only HTTP headers and no document body

PUT

Uploads a representation of the specified URI

DELETE

Deletes the specified resource

OPTIONS

Returns the HTTP methods that the server supports

CONNECT

Converts the request connection to a transparent TCP/IP tunnel

« Previous

Next Reference »


Your suggestion:

Close [X]

Thank You For Helping Us!

Your message has been sent to W3Schools.

Close [X]

0 0