经典收藏----URL的长度限制,以及get post区别[转载]
关键字: url这个是官方的解释:http://support.microsoft.com/default.aspx?scid=kb;EN-US;q208427
长度是2083字节,路径的最大长度是2048字节, post和get都是,这已经远大于传说的256了(之前为了兼容老client的一个说明)
SUMMARY
Microsoft Internet Explorer has a maximum uniform resource locator (URL) length of 2,083 characters. Internet Explorer also has a maximum path length of 2,048 characters. This limit applies to both POST request and GET request URLs.
If you are using the GET method, you are limited to a maximum of 2,048 characters, minus the number of characters in the actual path.
However, the POST method is not limited by the size of the URL for submitting name/value pairs. These pairs are transferred in the header and not in the URL.
RFC 2616, "Hypertext Transfer Protocol -- HTTP/1.1," does not specify any requirement for URL length.
REFERENCES
For a further breakdown of the components, see the Wininet header file.
For more information, see "General Syntax," section 3.2.1 of RFC 2616, "Hypertext Transfer Protocol -- HTTP/1.1," at the following Internet Society Web site:ftp://ftp.isi.edu/in-notes/rfc2616.txt
下面的文章取自RFC更加的权威了http://classicasp.aspfaq.com/forms/what-is-the-limit-on-querystring/get/url-parameters.html
What is the limit on QueryString / GET / URL parameters?
RFC 2068 states:
Servers should be cautious about depending on URI lengths above 255 bytes, because some older client or proxy implementations may not properly support these lengths.
The spec for URL length does not dictate a minimum or maximum URL length, but implementation varies by browser. On Windows: Opera supports ~4050 characters, IE 4.0+ supports exactly 2083 characters, Netscape 3 -> 4.78 support up to 8192 characters before causing errors on shut-down, and Netscape 6 supports ~2000 before causing errors on start-up.
Note that there is no limit on the number of parameters you can stuff into a URL, but only on the length it can aggregate to.
Keep in mind that the number of characters will be significantly reduced if you have special characters (e.g. spaces) that need to be URLEncoded (e.g. converted to the sequence '%20'). For every space, you reduce the size allowed in the remainder of the URL by 2 characters - and this holds true for many other special characters that you may encode before sending the URL to the client.
Keep in mind, also, that the SGML spec declares that a URL as an attribute value (e.g. <a href='{url}'>) cannot be more than 1024 characters. Similarly, the GET request is stored in the server variable QUERY_STRING, which can have similar limitations in certain scenarios.
If you are hitting a limit on length, you should consider using POST instead of GET. POST does not have such low limits on the size of name/value pairs, because the data is sent in the header, not in the URL. The limit on POST size, by default, is 2 MB on IIS 4.0 and 128 KB on IIS 5.0. POST is also a little more secure than GET -- it's tougher (though not impossible) to tinker with the values of POSTed variables, than values sitting in the querystring.
See Article #2223 for more information on using POST to overcome limitations on length.
下面的文章讲述克服get的长度限制, 使用post
http://classicasp.aspfaq.com/forms/what-is-the-limit-on-querystring/get/url-parameters.html
转自 http://www.80x86.cn/article.asp?id=1327
发表评论
- 浏览: 56808 次

- 详细资料
搜索本博客
我的相册
共 1 张
最新评论
-
JAVA方法重载和方法重写
仅有返回类型不同是不能的,只有方法名不同,或方法名同但参数不同的一组函数才能在一 ...
-- by fishermen -
JAVA方法重载和方法重写
不足以区分?是能还是不能?能说明一下吗?
-- by ws715 -
HTTP协议与sockt读取http ...
http本来不存在所谓长连接,这仅仅是一种特殊情况下的需求,然后有一些模拟解决技 ...
-- by fishermen -
HTTP协议与sockt读取http ...
兄台,我想问一句:http协议中 浏览器发送一个 http请求,与服务器建立链接 ...
-- by jonson -
非常下载——太好了,大量 ...
可以打开啊,你的网络封了这些网站吧
-- by fishermen






评论排行榜