博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Get方法提交URL的最大长度限制
阅读量:5042 次
发布时间:2019-06-12

本文共 1180 字,大约阅读时间需要 3 分钟。

这个问题一直以来似乎是被N多人误解,其实Http Get方法提交的数据大小长度并没有限制,而是IE浏览器本身对地址栏URL长度有最大长度限制:2083字符。

详情见:
1.http://support.microsoft.com/kb/208427/zh-cn
2.http://support.microsoft.com/kb/254786/zh-cn
注:以上链接地址均来自微软的中文MSDN。
另外就是受服务器软件的限制了。


 

当我们要尝试用GET方式传递WEB页面参数时,不得不考虑会不会因为浏览器地址栏长度限制导致错误。虽然用google能得到一堆,但是也许这些数据会互相矛盾。眼见为实,我用下面的方法测试了一下目前的各种浏览器的地址长度限制。

1.自己搭建一个本地的apache+php的web平台,这个不在本文的讨论范围。

2.在web服务器的根目录建立名为index.php的文件,写入如下内容:

$char=''; $len=1000; $total_len=strlen('http://localhost/index.php?submit=submit&char=')+$len; for($i=0;$i<$len;$i++){
$char.='1'; } echo $_REQUEST['char']; echo "

Address length: ".$total_len; echo "

"; echo "

";

3.访问http://localhost/index.php, 通过修改”$len=1000;”这行1000这个数字后点击submit测试各浏览器到地址栏极限。结果为$len所赋值加 上”http://localhost/index.php”的46字节的和。

结果如下:

1. Firefox 3.0.3: 当$len 赋值为4053时出错,可见最长字长4098

2. IE7.0: 2083, 结果与官方说法一致

3. Opera 9.60: 4098 , Firefox3.0.3 相同

4. google chrome 0.2.149.30: 4098, 与Firefox3.0.3,Opera 9.60相同

可见Firefox, Opera, Chrome 虽然各自使用了不同的内核,至少在地址栏长度上有高度的默契。

另外,如果用POST方式传递数据,无论传递数据有多大,结果只会让浏览器死掉而不是报错。因为post的数据是放在header里传输的。可见POST传递数据无限制的传言基本上可以认为是正确的。

转载于:https://www.cnblogs.com/YuanShuai/archive/2012/02/23/2364853.html

你可能感兴趣的文章
css修改滚动条样式
查看>>
2018.11.15 Nginx服务器的使用
查看>>
Kinect人机交互开发实践
查看>>
百度编辑器UEditor ASP.NET示例Demo 分类: ASP.NET...
查看>>
JAVA 技术类分享(二)
查看>>
android客户端向服务器发送请求中文乱码的问
查看>>
Symfony翻译教程已开课
查看>>
TensorFlow2.0矩阵与向量的加减乘
查看>>
NOIP 2010题解
查看>>
javascript中的each遍历
查看>>
String中各方法多数情况下返回新的String对象
查看>>
浅谈tcp粘包问题
查看>>
UVA11524构造系数数组+高斯消元解异或方程组
查看>>
排序系列之——冒泡排序、插入排序、选择排序
查看>>
爬虫基础
查看>>
jquery.lazyload延迟加载图片第一屏问题
查看>>
HDU 1011 Starship Troopers (树形DP)
查看>>
手把手教你写DI_1_DI框架有什么?
查看>>
.net常见的一些面试题
查看>>
OGRE 源码编译方法
查看>>