PHP中$_GET方法到底有没有长度限制?
巴扎黑
巴扎黑 2017-04-10 17:04:02
[PHP讨论组]

今天在W3C看$_GET函数,上面写的是限制在100字符以内,然后也有看到网友说是2kb以下,另外看到一种说法是$_GET方法没有长度限制,因为它的可提交数据量与URL长度有关,而URL是没有长度限制的

请问这个方法到底有没有长度限制?有的话是多少?

巴扎黑
巴扎黑

全部回复(5)
PHPz

HTTP协议从未规定GET/POST请求长度限制是多少。这个长度限制主要取决于浏览器和 web 服务器的决定和设置,各种浏览器和 web 服务器的设定均不一样。
通常webserver默认限制是8KB,不过你可以通过修改配置来更改。
浏览器这边 MSIE 和 Safari 最大值 2KB, Opera 4KB,Firefox 8KB。从应用跨浏览器的角度考虑,你应该选择最小的2KB。

巴扎黑

我的印象中,很久以前,url的长度一般是1024字节上限,不同浏览器相差不大,不知道现在的情况了。

PHPz

http协议中,其实并没有对url长度作出限制,往往url的最大长度和用户浏览器有关,不一样的浏览器,能接受的最大长度往往是不一样的。

IE浏览器:2083个字符
Firefox浏览器:65,536个字符
Safari:80,000个字符
Opera:190,000个字符
Google:8182个字符

另外,不一样的web服务器能接受url长度也会不一样。

大家讲道理

我最近也遇到了楼主提的这问题,场景是在在保存某些信息的时候,提交表单的方式是用GET方法,然后报错了,显示超过服务器请求限制,原因是保存的信息太多,而GET方法会把数据全部显示在URL上。把方式改为POST后,问题就不存在了,百度了一下,说是URL的长度是受浏览器的限制的,不同浏览器会有不同的长度限制

迷茫

sqrtqiezi说的是对的。
无论是post还是get必然都是有长度限制的,具体由服务器和浏览器之间设定的最小值决定。
get普遍以2k为最大

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号