Home > Backend Development > PHP Tutorial > Verification of relevant information about the maximum length limit of URL, URL verification_PHP tutorial

Verification of relevant information about the maximum length limit of URL, URL verification_PHP tutorial

WBOY
Release: 2016-07-13 10:10:56
Original
1084 people have browsed it

Relevant information verification about the maximum URL length limit, url verification

While developing and debugging the Alipay interface, I suddenly discovered that the URL of the Alipay interface is very long, much larger than the 255 characters that I had previously imagined. I quickly searched and verified it, and my understanding is as follows:

It is true that the URL cannot be larger than 255 bytes, and it is mentioned in RFC2616:

Copy code The code is as follows:

The HTTP protocol does not place any a priori limit on the length of a URI. Servers MUST be able to handle the URI of any resource they serve, and SHOULD be able to handle URIs of unbounded length if they provide GET-based forms that could generate such URIs. A server SHOULD return 414 (Request-URI Too Long) status if a URI is longer than the server can handle (see section 10.4.15).

Note: Servers ought to be cautious about depending on URI lengths above 255 bytes, because some older client or proxy implementations might not properly support these lengths.

As can be seen from the previous point, the statement of 255bytes is also for compatibility reasons. In fact, the limitations of modern browsers are as follows:

Copy code The code is as follows:

Microsoft Internet Explorer (Browser)
Microsoft states that the maximum length of a URL in Internet Explorer is 2,083 characters, with no more than 2,048 characters in the path portion of the URL. In my tests, attempts to use URLs longer than this produced a clear error message in Internet Explorer.

Firefox (Browser)
After 65,536 characters, the location bar no longer displays the URL in Windows Firefox 1.5.x. However, longer URLs will work. I stopped testing after 100,000 characters.

Safari (Browser)
At least 80,000 characters will work. I stopped testing after 80,000 characters.

Opera (Browser)
At least 190,000 characters will work. I stopped testing after 190,000 characters. Opera 9 for Windows continued to display a fully editable, copyable and pasteable URL in the location bar even at 190,000 characters.

Apache (Server)
My early attempts to measure the maximum URL length in web browsers bumped into a server URL length limit of approximately 4,000 characters, after which Apache produces a “413 Entity Too Large” error. I used the current up to date Apache build found in Red Hat Enterprise Linux 4. The official Apache documentation only mentions an 8,192-byte limit on an individual field in a request.

Microsoft Internet Information Server
The default limit is 16,384 characters (yes, Microsoft's web server accepts longer URLs than Microsoft's web browser). This is configurable.

Perl HTTP::Daemon (Server)
Up to 8,000 bytes will work. Those constructing web application servers with Perl's HTTP::Daemon module will encounter a 16,384 byte limit on the combined size of all HTTP request headers. This does not include POST-method form data, file uploads, etc. , but it does include the URL. In practice this resulted in a 413 error when a URL was significantly longer than 8,000 characters. This limitation can be easily removed. Look for all occurrences of 16×1024 in Daemon.pm and replace them with a larger value. Of course, this does increase your exposure to denial of service attacks.

It is also worth noting that some articles mentioned that when used as the href attribute of , the URL cannot exceed 1024 bytes, but this has not been verified in detail

In summary, the URL is still not suitable for being too long. It is not a last resort. Try not to submit a large number of parameters through GET. You can consider using POST (about 2M, it should be related to the server and settings). In addition, such a long URL is also quite unfriendly when accessing and saving (some articles mentioned that some browsers also have problems when saving super long addresses). Of course, the database field settings were still treated as 255 bytes before, but now you may want to consider expanding it.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/932078.htmlTechArticleRelevant information verification about the maximum length limit of URL. When url verification was developing and debugging the Alipay interface, I suddenly discovered that the Alipay interface The URL is very long, much larger than the 255 characters I had in mind before...
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template