The difference between php get and post
1. Get is harmless when the browser rolls back, while post will request again;
2. The URL address generated by get can be collected, but post will not;
3. The get request parameters will It is completely retained in the browser history, but the post parameters will not be retained;
4. The get parameters are passed through the url, and the post is placed in the request boby;
5. The get request is in the url The parameters passed in have length restrictions, but post does not;
6. There are parameters for GET in the wallpaper bar, but no parameters for post.
The limitation of length of GET and POST
GET
1.GET is through URL Submit data, so the amount of data that can be submitted by GET is directly related to the maximum length that the URL can achieve.
2. In fact, the HTTP protocol has no limit on URL length; most restrictions on URL length are browser or server configuration parameters
POST
1. Similarly, the HTTP protocol does not impose any restrictions on POST, which is generally limited by server configuration or memory size.
2. Under PHP, you can modify the postmaxsize of php.conf to set the POST size.
The content-length issue of the request header
If someone maliciously forges the content-length A large header, but actually sends a request with a small content-length, so the server will wait until it times out. Of course, the server can be set up to avoid this problem.
Recommended tutorial: PHP video tutorial
##Security of GET and POST
1. GET is requested through URL, which can be seen directly and transmitted in clear text. 2. POST is requested through the request header, which can be seen by developer tools or packet capture, and is also in clear text. 3. The GET request will be saved in the browser history and may also be saved in the Web log.The status of GET and POST on the server
According to the design of http, when everyone sees get, they all expect this request to be on the server There is no modification. When I saw the post, I thought it had modified the server.GET is idempotent, POST is not idempotent
Idempotent refers to the effect of executing the same request method multiple times and executing it only once. same. 1. According to RFC specifications, PUT, DELETE and security methods are all idempotent. Although it is a specification, there is no guarantee whether the server implementation is idempotent. 2. 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. 3. 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 used in the scenario of " In a scenario like posting on Weibo, commenting, and liking.The above is the detailed content of The difference between get and post in php. For more information, please follow other related articles on the PHP Chinese website!