GET与POST传递数据的最大长度限制

Posted 我就SEI我啊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GET与POST传递数据的最大长度限制相关的知识,希望对你有一定的参考价值。

get 
是通过URL提交数据,因此GET可提交的数据量就跟URL所能达到的最大长度有直接关系。URL不存在参数上限的问题,HTTP协议规范也没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制
是2083字节(2K+35字节)。对于其他浏览器,如FireFox,Netscape等,则没有长度限制,这个时候其限制取决于服务器的<a target=_blank target="_blank" rel="nofollow" href="https://www.baidu.com/s?wd=%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1d9PAPWPHDLn1b1njb3rHmL0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EP1DkrHc1PjcYrHndPWTdrjfd" class="baidu-highlight">操作系统</a>。即
如果url太长,服务器可能会因为安全方面的设置从而拒绝请求或者发生不完整的数据请求。

post 
理论上讲是没有大小限制的,HTTP协议规范也没有进行大小限制,但实际上post所能传递的数据量大小取决于服务器的设置和内存大小。实际中如果你上传文件的过程中可能会发现这样一个问题,即上传个头比较
大的文件到服务器时候,可能上传不上去,以<a target=_blank target="_blank" rel="nofollow" href="https://www.baidu.com/s?wd=php%E8%AF%AD%E8%A8%80&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1d9PAPWPHDLn1b1njb3rHmL0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EP1DkrHc1PjcYrHndPWTdrjfd" class="baidu-highlight">php语言</a>来说,查原因的时候你也许会看到有说PHP上传文件涉及到的参数PHP默认的上传有限定,一般这个值是2MB,更改这个值需要更改php.ini的post_max_size这个值。

php.ini配置文件中的默认文件上传大小为2M, 默认upload_max_filesize =2M,即文件上传的大小为2M,如果你想上传超过8M的文件,比如20M,你必须设定upload_max_filesize =20M。同时必须修改php.ini配置文件中的post_max_size选项,其代表允许POST的数据最大字节长度,默认为8M。如果POST数据超出限制,那么$_POST和$_FILES将会为空。要上传大文件,你必须设定该选项值大于upload_max_filesize指令的值。另外如果启用了内存限制,那么该值应当小于memory_limit选项的值。

以上是关于GET与POST传递数据的最大长度限制的主要内容,如果未能解决你的问题,请参考以下文章

GET和POST可传递的值到底有多大

HTTP 中 GET 与 POST 的区别

get与post区别

Post 提交,参数长度有限制吗

关于http get和form表单post提交数据大小限制

post传中文上限