Home >Backend Development >PHP Problem >What is the difference between PHP's get and post?
#What is the difference between get and post in PHP?
1. Get is to obtain data from the server, and post is to transmit data to the server;
2. The data transmitted by get cannot be larger than 2KB, while the data transmitted by post has no size. Limitations;
3. The security of get is very low, but the security of post is high.
Recommended article: PHP
GET method length limit
There is no limit on the size and length of the data submitted by the Http Get method. The HTTP protocol specification does not limit the length of the URL. This limit is imposed by specific browsers and servers.
For example: IE’s limit on URL length is 2083 bytes (2K 35).
The following is some explanation of the maximum processing capabilities of various browsers and servers
Microsoft Internet Explorer (Browser)
The maximum limit for URLs in IE browser is 2083 characters. If it exceeds this number, the submit button will have no response.
Firefox (Browser)
The length limit for Firefox browser URLs is 65,536 characters.
Safari (Browser)
The maximum URL length is limited to 80,000 characters.
Opera (Browser)
The maximum URL length is limited to 190,000 characters.
Google (chrome)
The maximum URL length is limited to 8182 characters.
Apache (Server)
The maximum URL length is limited to 8,192 characters.
Microsoft Internet Information Server(IIS)
The maximum URL length is limited to 16,384 characters.
It can be seen from the above data that in order to allow all users to browse normally, the URL should not exceed the maximum length limit of IE (2083 characters).
Of course, if the URL is not direct Provided to users, but provided to program calls, the length at this time is only affected by the Web server.
Note: For the transmission of Chinese, it will eventually be transmitted in the encoding form after urlencode. If the browser's encoding is UTF8, the final encoded character length of a Chinese character is 9 characters.
So if using the GET method, the maximum length is equal to the maximum length of the URL minus the number of characters in the actual path.
POST method length limit
Theoretically, there is no size limit for POST. The HTTP protocol specification does not impose a size limit. What is limiting is the processing power of the server's handler.
For example: Cancel the POST size limit under Tomcat (Tomcat defaults to 2M);
Open the conf directory under the tomcat directory, open the server.xml file, and modify maxPostSize="0" (set Setting it to 0 cancels the POST size limit)
In addition, the HTTP protocol has never specified the request length limit for GET/POST.
The request length limit we call daily is determined and set by the browser and web server. The settings of various browsers and web servers are different, which depends on the regulations of each browser manufacturer or It can be set according to the processing capabilities of the web server.
Related recommendations: "PHP HTTP protocol video tutorial"
The above is the detailed content of What is the difference between PHP's get and post?. For more information, please follow other related articles on the PHP Chinese website!