0 0

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

发现用post提交表单时,参数值长度达到大概1900000时,后台就得不到参数值!但根本就没有文档说POST参数长度有限制!大家遇到过吗?
问题补充
我现在是分批提交的!但我想知道是不是有限制!
问题补充:
我的数据是从一个EXCEL导入到页面里的一个Grid!然后在页面编辑数据,提交保存时Grid的数据会用javascript组织成一个Json字符串,然后通过xmlhttprequest!
2009年1月06日 12:27

30个答案 按时间排序 按投票排序

0 0

我也遇到这个问题,后来查询tomcat server.xml 发现设置了maxPostSize="1024" 这个参数,只允许表单上传1m的数据。修改了这个就好了。


<Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               maxPostSize="0"/>   <!--等于0无限制-->

2016年4月28日 08:34
0 0

小生记得post没有限制 而get有512字节的限制

2009年1月12日 16:36
0 0

理论上是没有限制的,不过你可以实践一下哦

2009年1月11日 10:01
0 0

GET方法由于受到URL长度的限制,只能传递大约1024字节;POST传输的数据量大,可以达到2M,而根据微软方面的说法,微软对用 Request.Form() 可接收的最大数据有限制,IIS 4 中为 80 KB 字节,IIS 5 中为 100 KB 字节;

2009年1月09日 14:38
0 0

理论上是没有的,但是不同的服务器是存在不同限制的。比如IIS与Apache

2009年1月09日 10:14
0 0

理论上应该没有限制的。。。。。。
如果有限制可能是你的服务器处理环境问题。。

2009年1月08日 09:49
0 0

主要限制在哪里呢,如果是ASP 就看看哪里有buffer 的设置改一下, 你要传什么东西那么多内容,不行就写socket

2009年1月08日 00:37
0 0

post提交有长度限制的

2009年1月08日 00:35
0 0

可以变通一个,将提交表单中加入enctype="multipart/form-data",表示表单内容是以二进制发送(提交),接收时就像处理上传一样,如果处理上传用的是apache-fileupload+io,

if (fileItem.getFieldName().equals("username")) {
					username= fileItem.getString();
				}

2009年1月07日 19:48
0 0

HTTP协议没有限制,但是服务器一般都限制了POST数据大小。

2009年1月07日 15:22
0 0

你看一下服务器的配置

2009年1月07日 13:36
0 0

应该是没有限制的,因为我做过的东西,内容用库都是text类型的,差不多是2G的容量,都可以提交,这个不会出现这个的问题的,应该和楼上人说的是的,也许是你有特殊字符,或者就是库里面你没有对中文进行处理,我原来用mysql的库里面有charset,我原来没有设置这里为gbk,所以对中文不处理,当然提交也就是会有问题的,会抛出长度过长的错误,你可以看看库里面的字段有没有设置成text或varchar却没有对中文进行设置的,我觉得应该是这里的问题,和post没有关系,post是提交全部表单信息,没有限制!!!1

2009年1月07日 12:42
0 0

理论上讲,POST是没有大小限制的。

你的服务器是否做了限制,我做过一个项目在内网是没有任何问题的,在外网时请求超过64K便出错,原因就是对外网有防火墙。你也可能是服务器的问题

还有就是你的参数是否正确,相信你的信息那么大,肯定会有不少参数,看参数是否正确

2009年1月07日 10:53
0 0

大小限制在2M

2009年1月07日 10:21
0 0

是有限制的

2009年1月07日 10:12
0 0

有限制的,好像是2M,你可以百度一下。

2009年1月07日 10:00
0 0

非常感性趣的是,这么长的参数是如何产生的?
为什么不采用上传文件试试?

2009年1月07日 09:52
0 0

本来没有限制,但是避免传递一些恶意代码,应当进行限制

2009年1月07日 09:13
0 0

post本身是没有限制的,但是服务器的配制会有限制

2009年1月07日 08:52
0 0

有,不超过4K

2009年1月07日 05:35
0 0

HTTP协议没有限制,但是HTTP服务器(Apache,IIS)通过配置可以限制POST数据大小。

2009年1月07日 00:42
0 0

对于post的限制,应该是服务器的处理的限制。

可以参考这篇文章
http://www.mzwu.com/article.asp?id=817

2009年1月07日 00:29
0 0

http 协议没有对post上传做长度限制,事实上是没有限制,想想一个10M多更大的文件通过网页上传的话,也可以的(这个过程比较复杂,其实是浏览器吧数据文件编码后和页面上的字段一起按照multipart的方式提交到服务器端)。如果对大数据量的上传,可以使用put的方式提交,因为使用put不用对提交的数据进行编码(也就是可以提交任何2进制数据),效率要高,而且相对post实际传输的字节数要少。楼主说的这个190000的限制因该是服务器端的限制。具体服务器,可能得到服务器的实现代码了

2009年1月06日 23:17
0 0

post 有限制的, 这个是httpd/web container做的限制, 为的是安全, 一般来说, 如果你要真送这么多数据, 我建议LZ使用multipart post. 但是, 你还是要检查web container的配置, 一般来说, httpd对这个限制很大, 但是, tomcat-server.xml有大小的检查, 你去看看。  我的意思是, LZ把数据当文件传送, 这样比较好点:)

2009年1月06日 21:50
0 0

url传值本来就是有限制字符串的长度,而且还限制不能传递一下特殊字符,例如¥,%等等,如果参数太多或太长,可以通过隐藏域,或者通过request,session传值也可以。

2009年1月06日 14:28
0 0

Post是没有大小限制的。

POST http://127.0.0.1/test.asp HTTP/1.1
Host: 127.0.0.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 18
num=test&pass=test

Content-Type: 声明可以无限增加POST提交内容的大小。
Content-Length: 声明了我们要提交内容"num=test&pass=test"的大小。

但是事实上我们在传输数据长度过长时出现了数据丢失的情况,这是因为服务器对Post做了限制..不同的服务器对Post的限制可能是不同的,而且是可配置的!

2009年1月06日 13:35
0 0

只传必要的参数,其他参数如果不是要修改的,应当从数据库中获取

2009年1月06日 13:14
0 0

尔今尔后 写道
不超过 2*1024个字节


胡说8道,,,


建议楼主检查下是不是有什么特殊字符什么的,应该编码(如果是HTML Form提交浏览器会自动编码)

2009年1月06日 12:27
0 0

你要传什么东西那么多内容,不行就写socket吧

2009年1月06日 12:27
0 0

不超过 2*1024个字节

2009年1月06日 12:27

相关推荐

    js的参数有长度限制吗?发现不能超过2083个字符

    总结以上内容,我们可以看出文件描述中的“js的函数参数长度限制”实际上是由于通过URL传递参数时遇到的HTTP协议限制。JavaScript函数本身对参数长度并没有明确限制,但当参数通过URL传递时,会受到浏览器和服务器端...

    ajax快速解决参数过长无法提交成功的问题

    在ajax中使用post方法,用常规的参数格式:param1=a1&param2=a2 ,当参数长度过长时,依然提交不成功。比如我们经常这样写一个ajax的post请求: $.ajax({ type: "post", // post or get contentType:"application...

    URL 长度有限制吗?

    这表明服务器端也有自己的URL长度限制,具体数值可能因服务器软件、配置以及系统环境而异。服务器端限制可能与内存管理、处理效率以及安全性考虑有关。 POST方法之所以能够处理大量数据,是因为它将数据封装在请求...

    如何使用post提交网页表单中的数据

    与GET请求不同,GET请求将参数附加到URL上,而POST请求则将数据隐藏在请求体中,使得数据更安全,同时也避免了URL长度限制。 在VB中,我们可以使用Winsock控件或Microsoft.XMLDOM对象来实现POST请求。以下是使用...

    Android中通过GET和POST方式以及使用HttpClient框架通过网络通信提交参数给web应用案例

    GET方法通常用于获取资源,其参数附加在URL后面,易于观察但对数据长度有限制,一般不超过2KB。POST方法则将数据封装在请求体中,能传输大量数据,适用于上传文件或表单提交。 1. **GET方式**: - 创建`HttpGet`...

    ajax POST 与GET提交的区别

    - **POST**: 没有明确的长度限制,理论上可以传输较大的数据量。 3. **安全性**: - **GET**: 由于数据出现在URL中,容易被截获或保存在浏览器历史记录中,不适合传输敏感信息。 - **POST**: 数据不会出现在URL中...

    详解tomcat 解决 POST请求传参数过长受限制的问题

    Tomcat的POST请求参数长度限制可以通过修改`server.xml`中的`maxPostSize`属性来调整。在处理大数据传输时,应当合理设置该限制,同时优化代码逻辑,以平衡安全性与性能。理解这个配置对于排查和解决类似问题至关...

    Ajax使用POST提交中文乱码问题.docx

    在使用Ajax进行POST提交时,中文字符可能会遇到乱码问题,这是因为数据在传输过程中编码与解码不匹配导致的。Ajax以UTF-8编码发送数据,但服务器端可能使用了不同的字符集(如GB2312)来解析,这就产生了乱码。本文...

    (C#)post提交工具(雄风版)

    此外,这个工具也有可能提供了用户界面,使得非程序员也能方便地进行POST提交操作。 总之,C# Post提交工具(雄风版)是一个实用的学习和实践资源,它涵盖了HTTP请求的基本原理和C#的实现方法,对于初学者和有经验的...

    POST/GET提交测试工具-可自定义UA、Cookies等

    GET主要用于获取资源,它将参数附加到URL后面,对数据的长度有限制,并且通常会被浏览器记录在历史记录和缓存中,因此不适合传输敏感信息。而POST方法则用于向服务器发送数据,通常用于表单提交,可以处理大量数据,...

    GET与POST请求DEMO

    2. 有长度限制:URL的最大长度有限制,通常为2KB左右,所以GET请求不能传输大量数据。 3. 缓存:浏览器可以缓存GET请求,提高性能,但可能造成数据过时。 4. 可被书签:GET请求可以被用户书签,方便再次访问。 POST...

    C# 使用Get和Post请求获取数据

    这种方式限制了请求的长度,因为URL有长度限制,同时也意味着GET请求的数据对用户可见,不太适合传输敏感信息。在C#中,我们可以使用`HttpClient`类的`GetStringAsync`方法来发送GET请求并获取返回的字符串数据。 `...

    javascript模拟post提交隐藏地址栏的参数

    在Web开发中,有时需要在客户端执行数据的提交操作,而将数据隐藏在地址栏之外,以避免敏感信息暴露或绕过GET方法提交参数长度的限制。JavaScript提供了一种方式,可以通过模拟POST请求来实现这一需求。 首先,了解...

    jquery由GET转成POST方法工具类

    )分隔,然后以&符号连接各个参数,所有信息都是可见的,且对URL长度有限制。POST请求则将数据封装在请求体中,不会显示在URL上,且能传输大量数据。 为了将一个GET请求转换为POST请求,我们可以创建一个jQuery工具...

    window.open()实现post传递参数

    这种方法虽然能解决POST传递参数的问题,但也有一些限制,比如它依赖于JavaScript,如果用户禁用了JavaScript,那么这个功能将无法正常工作。另外,这种方式并不适合进行异步请求,因为它会立即加载新的页面,而不是...

    Web应用安全:Get、POST参数越权.pptx

    - GET请求的参数长度有限,POST请求没有这种限制。 - GET不支持二进制数据,POST可以传输任意类型的数据。 3. **GET参数越权**:由于GET请求的参数直接体现在URL中,攻击者可以通过篡改URL中的参数(如uid、id、...

    jsp中post和get传输方式的区别

    - GET:受URL长度限制,一般来说,URL的最大长度为2KB左右。因此,当需要发送大量数据时,GET方法可能不是最佳选择。 - POST:没有明确的数据大小限制。实际上,数据大小主要受到服务器端的限制(如内存等)。因此...

    j2ee21:ajax01:get提交、post提交(完成用户名搜索),两者的区别(中文乱码问题、缓存问题)

    在AJAX中,POST数据包含在请求体中,不受URL长度限制。POST请求不会被浏览器默认缓存,因此更安全。然而,POST请求的处理通常比GET请求稍慢,因为服务器需要解析请求体中的数据。 在实现用户名搜索功能时,你可能会...

Global site tag (gtag.js) - Google Analytics