Get方法可传递的字符串的最大长度到底是多少?

之前记得看某教材上写的是256字符,带着这个问题airzen做了一个试验。用简单的ASP 在IIS下做了一个实验。

a.asp

<%
g=""
For i=1 To 3000 Step 1
 g = g & "1"
Next
Response.Write("<a href=b.asp?g=" & g &" target='_blank'>test</a>")
%>

b.asp

<%
g=Request.QueryString("g")
Response.Write(Len(g))
%>

http://localhost/a.asp

http://localhost/b.asp?g=11111111........

输出值为  2058  加上值之前的字串 一共是2083

最后找到最权威的解释—-Maximum URL length is 2,083 characters in Internet Explorer.

没错,IE的url最大长度是2083个字节,可以用于GET传递数据的长度是2048个字节,这个数字不小,远超过256这个曾经认为无比正确的数字.

另外POST方式传递的数据不受这个长度影响,它的值通过浏览器header传输而不是url.
 



文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
评论: 0 | 引用: 0 | 查看次数: 10052
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭