IE地址栏最大的url长度是2083个字符,最大可以传递数据的长度是2048个字符,这个适用于POST和GET方式,注意这里说的POST是只在地址栏中输入参数,但是提交时取用POST方式。
如果你用GET方式,传递的数据最大是2048个字符,刚才说了IE地址栏最大的url长度是2083个字符,这两个有什么关系呢?下面我举个例子说明一下:
假设有一个url是http://www.xxx.com/ddd/ccc?xxx=xxx....
问号前有26个字符,从问号后最多可以输入2048个字符,这样一共可输入2074个字符,由于IE地址栏最大的url长度是2083个字符,所以你还能输入9个字符,但是传递参数的部分只能是2048个字符,所以提交后会报错的。
再假设有一个url是http://www.xxx.com/ddd/ccc/bbbbbb/aaaaa?xxx=xxx....
问号前有39个字符,从问号后最多可以输入的字符数为2083-39=2044,即使传递参数的部分最多可输入2048个字符,但是IE地址栏最大的url长度是2083个字符,所以本例中传递参数的部分最多可输入2044个字符。
但是,使用POST提交【名/值】对的方式是不受这个大小限制的,因为这些【名/值】对是通过header传送的,而不是用url。
RFC 2616 HTTP/1.1 中并没有明确规定URL的长度。