Home >Backend Development >PHP Problem >What is the difference between php's GET and POST methods?

What is the difference between php's GET and POST methods?

青灯夜游
青灯夜游Original
2021-06-07 11:54:574088browse

Difference: 1. GET can only send a limited amount of data, while POST has no limit. 2. The data sent by GET is not protected and has low security; while POST has high security. 3. The results of GET query can be added to bookmarks, but POST cannot. 4. GET only accepts ASCII characters, and POST allows binary and ASCII characters, etc.

What is the difference between php's GET and POST methods?

The operating environment of this tutorial: windows7 system, PHP7.1 version, DELL G3 computer

The main difference between Get and Post is that Get Data is transmitted through Url, while Post does not allow users to see the specific information transmitted. This difference determines the use of the two. The Get method is mainly used for searching, while the Post method is mainly used to transmit user operation information to the server.

The difference between GET and POST methods:

1. The amount of data sent

is In GET, only a limited amount of data can be sent because the data is sent in the URL.

In POST, large amounts of data can be sent because the data is sent in the body of the text.

2. Security

The data sent by the GET method is not protected because the data is exposed in the URL bar, which increases the risk of vulnerabilities and hacker attacks.

The data sent by the POST method is secure because the data is not exposed in the URL bar and a variety of encoding techniques can be used in it, which makes it resilient.

  • GET is requested through the URL, which can be seen directly and transmitted in clear text.

  • POST is requested through the request header, which can be seen by developer tools or packet capture, and is also in clear text.

  • GET requests will be saved in the browser history and may also be saved in the web log.

get submission, the requested data will follow the url (uniform resource positioning), low security

post submission, put the submitted data in the http package In the package body, security is high

3. Add to bookmarks

The result of GET query can be added to bookmarks because it exists in the form of URL; while POST query The results cannot be bookmarked.

4. Encoding

When using the GET method in a form, only ASCII characters are accepted in the data type.

On form submission, the POST method does not bind the form data type and allows binary and ASCII characters.

5. Variable size

The variable size in the GET method is about 2000 characters.

The POST method allows a variable size of up to 8 Mb.

6. Cache

The data of the GET method is cacheable, but the data of the POST method cannot be cached.

7. Main function

The GET method is mainly used to obtain information. The POST method is mainly used to update data.

8. GET is idempotent, POST is not idempotent

Impotent means that the effect of executing the same request method multiple times and executing it only once is exactly the same.

  • According to RFC specifications, PUT, DELETE and security methods are idempotent. Although it is a specification, there is no guarantee whether the server implementation is idempotent.

  • The introduction of idempotence is mainly to deal with the situation where the same request is sent repeatedly, such as losing the connection before the request responds. If the method is idempotent, you can safely resend the request. . This is also the reason why the browser will prompt the user when encountering POST when backing/refreshing: POST semantics are not idempotent, and repeated requests may bring unexpected consequences.

  • For example, in the scenario of Weibo, the semantics of GET will be used in the scenario of "Look at the latest 20 Weibo posts on my Timeline", while the semantics of POST will be It is used in scenarios such as "posting on Weibo, commenting, and liking".

Recommended learning: "PHP Video Tutorial"

The above is the detailed content of What is the difference between php's GET and POST methods?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn