导航:首页 > 数据分析 > get为什么不能传送太长的数据

get为什么不能传送太长的数据

发布时间:2024-10-01 10:51:07

㈠ 表单的提交有两种方式:GET和POST,这两种方式的区别是什么

一、指代不同

1、GET:从指定的资源请求数据。

2、POST:向指定的资源提交要被处理的数据

二、规则不同

1、GET: 请求可被缓存; 请求保留在浏览器历史记录中; 请求可被收藏为书签;请求不应在处理敏感数据时使用; 请求有长度限制; 请求只应当用于取回数据。

2、POST:请求不会被缓存; 请求不会保留在浏览器历史记录中; 不能被收藏为书签; 请求对数据长度没有要求。

三、数据要求不同

1、GET:当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。

2、POST:发送数据无限制。POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。

文件传输的最大数量是多少

POST 和GET传输的最大容量分别是多少?

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这个值。这就很明白的说明了这个问题了。
-------------------------
QQ传文件的大小上限是多少最大不能超过多少G

如果你QQ是在线状态,在线传输文件是没有上限的,只要你电脑硬盘装得下,多大都没问题。 QQ传离线文件是有上限的。离线传送的文件,单个文件大小上限为4G。非会员离线文件存放空间大小 10M/天 。会员按等级VIP1 VIP2 VIP3 VIP4 VIP5 VIP6 分别为200M/天 300M/天 500M/天 700M/天 1G/天 1.5G/天。而且每天用户离线传文件的次数不可超过100次。

㈢ 使用GET方法不能发送比较多的表单数据

传送的数据量较小,不能大于2KB。
很多情况下,需要传递一些信息,从浏览器到Web服务器,最终到后台程序。浏览器使用两种方法可将这些信息传递到Web服务器,分别为GET方法和POST方法。
1、get是从服务器上获取数据,post是向服务器传送数据。2、get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTPpost机制,将表单内各个字段与其内容放置在HTMLHEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。3、对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。4、get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。5、get安全性非常低,post安全性较高。

㈣ get请求的长度限制

q:

HTTP的GET请求的上传数据的最大长度是多少?如果收到的GET请求超过了他的长度,那么服务器的response error(相应文本错误)该响应他的错误信息吗?
update:

服务器和客户端都会影响。GET请求的长度。(应用还是代理服务器或者用户的使用)
多数的服务器对GET请求的限制是8192个字节(8kb),这个限制多数是在服务器配置产生。同样在客户端相关,HTTP 1.1声明甚至警示这个,
以下是一个声明引用章节3.2.1

MSIE和Safari的长度限制是2kb,Opear是4kb,Firefox是8KB,我们可以得出总结,8kb是最大长度,2KB是可负担长度在服务器方面,而255字节是最安全的长度可以让URI整个进入浏览器
如果GET数据既超过浏览器限制长度也超过服务器限制长度,多数就会截掉超出的长度且并没任何警告。一些服务器也许会发送一个HTTP的414响应码。如果你要传送一个很大的数据,你最好使用POST来替代GET请求。这样数据的限制数值会更高,并且服务器的影响比客户端更大些。通常大多数的服务器可最大可以到达2GB的程度。这个可以在服务器的设置配置。通常的服务器将会显示一个服务器响应码HTTP 500来应对,POST请求的数据超过限制。

㈤ php get传值最大是多少

各种web开发语言中,各个页面之间基本都会进行数据的传递,web开发里面比较常用的数据传递方式有get
post,一直以来我都只知道get传递的数据量要比post传递的数据量要少,所以传递大数据量还是要用post,但是 get post
这两种方式最大能传递多少数据呢?一直没搞清楚。

今天由于工作的需要,还必须得把这个问题搞明白一下了,下面就说说GET与POST传递数据的最大长度能够达到多少吧。

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这个值。这就很明白的说明了这个问题了。

㈥ GET/POST 请求参数长度的最大值

1. Get方法长度限制

Http Get方法提交的数据大小长度并没有限制,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。下面就是对各种浏览器和服务器的最大处理能力做一些说明.

浏览器/服务器 说明
Microsoft Internet Explorer IE浏览器对URL的最大限制为2083个字符,如果超过这个数字,提交按钮没有任何反应。
Firefox 对于Firefox浏览器URL的长度限制为65,536个字符
Safari URL最大长度限制为 80,000个字符
Opera URL最大长度限制为190,000个字符
Google chrome URL最大长度限制为8182个字符
Apache Server 能接受最大url长度为8,192个字符
IIS 能接受最大url的长度为16,384个字符

通过上面的数据可知,为了让所有的用户都能正常浏览, URL最好不要超过IE的最大长度限制(2083个字符),当然,如果URL不直接提供给用户,而是提供给程序调用,这时的长度就只受Web服务器影响了。
注:对于中文的传递,最终会为urlencode后的编码形式进行传递,如果浏览器的编码为UTF8的话,一个汉字最终编码后的字符长度为9个字符。
因此如果使用的 GET 方法,最大长度等于URL最大长度减去实际路径中的字符数。

2.POST方法长度限制

理论上讲,POST是没有大小限制的。HTTP协议规范也没有进行大小限制,起限制作用的是服务器的处理程序的处理能力。

如:在Tomcat下取消POST大小的限制(Tomcat默认2M);

打开tomcat目录下的conf目录,打开server.xml 文件,修改

<Connector
debug="0"
acceptCount="100"
connectionTimeout="20000"
disableUploadTimeout="true"
port="8080"
redirectPort="8443"
enableLookups="false"
minSpareThreads="25"
maxSpareThreads="75"
maxThreads="150"
maxPostSize="0"
URIEncoding="GBK"
>
</Connector>

增加红色字体部分 maxPostSize="0" (设为0是取消POST的大小限制)

刚看到群里又有同学在说 HTTP 协议下的 Get 请求参数长度是有大小限制的,最大不能超过XX,而 Post 是无限制的,看到这里,我想他们定是看多了一些以讹传讹的博客或者书籍,导致一种理解上的误区:

1、首先即使有长度限制,也是限制的是整个 URI 长度,而不仅仅是你的参数值数据长度。

2、HTTP 协议从未规定 GET/POST 的请求长度限制是多少。

The HTTP protocol does not place any a priori limit on the length of a URI. Servers MUST be able to handle the URI of any resource they serve, and SHOULD be able to handle URIs of unbounded length if they provide GET-based forms that could generate such URIs. A server SHOULD return 414 (Request-URI Too Long) status if a URI is longer than the server can handle (see section 10.4.15).
Note: Servers ought to be cautious about depending on URI lengths above 255 bytes, because some older client or proxy implementations might not properly support these lengths.
3、所谓的请求长度限制是由浏览器和 web 服务器决定和设置的,各种浏览器和 web 服务器的设定均不一样,这依赖于各个浏览器厂家的规定或者可以根据 web 服务器的处理能力来设定。

The limit is in MSIE and Safari about 2KB, in Opera about 4KB and in Firefox about 8KB, (255 bytes if we count very old browsers) . We may thus assume that 8KB is the maximum possible length and that 2KB is a more affordable length to rely on at the server side and that 255 bytes is the safest length to assume that the entire URL will come in.
If the limit is exceeded in either the browser or the server, most will just truncate the characters outside the limit without any warning. Some servers however may send a HTTP 414 error. If you need to send large data, then better use POST instead of GET. Its limit is much higher, but more dependent on the server used than the client. Usually up to around 2GB is allowed by the average webserver. This is also configureable somewhere in the server settings. The average server will display a server-specific error/exception when the POST limit is exceeded, usually as HTTP 500 error.
HTTP 1.1 defines Status Code 414 Request-URI Too Long for the cases where a server-defined limit is reached. You can see further details on RFC 2616. For the case of client-defined limits, there is no sense on the server returning something, because the server won't receive the request at all.
The server is refusing to service the request because the Request-URI is longer than the server is willing to interpret. This rare condition is only likely to occur when a client has improperly converted a POST request to a GET request with long query information, when the client has descended into a URI "black hole" of redirection (e.g., a redirected URI prefix that points to a suffix of itself), or when the server is under attack by a client attempting to exploit security holes present in some servers using fixed-length buffers for reading or manipulating the Request-URI.

附 GET VS POST:

1、多数浏览器对于POST采用两阶段发送数据的,先发送请求头,再发送请求体,即使参数再少再短,也会被分成两个步骤来发送(相对于GET),也就是第一步发送header数据,第二步再发送body部分。HTTP是应用层的协议,而在传输层有些情况TCP会出现两次连结的过程,HTTP协议本身不保存状态信息,一次请求一次响应。对于TCP而言,通信次数越多反而靠性越低,能在一次连结中传输完需要的消息是最可靠的,尽量使用GET请求来减少网络耗时。如果通信时间增加,这段时间客户端与服务器端一直保持连接状态,在服务器侧负载可能会增加,可靠性会下降。

Tips:关于

阅读全文

与get为什么不能传送太长的数据相关的资料

热点内容
ps入门必备文件 浏览:348
以前的相亲网站怎么没有了 浏览:15
苹果6耳机听歌有滋滋声 浏览:768
怎么彻底删除linux文件 浏览:379
编程中字体的颜色是什么意思 浏览:534
网站关键词多少个字符 浏览:917
汇川am系列用什么编程 浏览:41
笔记本win10我的电脑在哪里打开摄像头 浏览:827
医院单位基本工资去哪个app查询 浏览:18
css源码应该用什么文件 浏览:915
编程ts是什么意思呢 浏览:509
c盘cad占用空间的文件 浏览:89
不锈钢大小头模具如何编程 浏览:972
什么格式的配置文件比较主流 浏览:984
增加目录word 浏览:5
提取不相邻两列数据如何做图表 浏览:45
r9s支持的网络制式 浏览:633
什么是提交事务的编程 浏览:237
win10打字卡住 浏览:774
linux普通用户关机 浏览:114

友情链接