get 是通过URL提交数据,因此GET可提交的数据量就跟URL所能达到的最大长度有直接关系。

很多文章都说GET方式提交的数据最多只能是1024字节,而实际上,URL不存在参数上限的问题, HTTP协议规范也没有对URL长度进行限制。

这个限制是特定的浏览器及服务器对它的限制,比如IE对URL长度的限制是2083字节(2K+35字节)。对 于其他浏览器,如FireFox,Netscape等,则没有长度限制,这个时候其限制取决于服务器的操作系统; 即如果url太长,服务器可能会因为安全方面的设置从而拒绝请求或者发生不完整的数据请求。

 

post 理论上讲是没有大小限制的,HTTP协议规范也没有进行大小限制,但实际上post所能传递的数据量 大小取决于服务器的设置和内存大小。

因为我们一般post的数据量很少超过MB的,所以我们很少能感觉的到post的数据量限制,但实际中如果 你上传文件的过程中可能会发现这样一个问题,即上传个头比较大的文件到服务器时候,可能上传不上 去。

以php语言来说,查原因的时候你也许会看到有说PHP上传文件涉及到的参数PHP默认的上传有限定,一 般这个值是2MB,更改这个值需要更改php.conf的post_max_size这个值。这就很明白的说明了这个问题 了。