浏览器/服务端的url最大长度限制

HTTP协议中没有对url长度做出限制,但浏览器和服务端对url长度都有限制。

不同浏览器url长度限制也不同,如果超长则会截取部分或者拒绝发送超长url。

IE的最大URL长度限制是2083字节,而实际可以使用的最大长度为2048字节
Firefox最大url长度限制为65,536个字符
Safari最大url长度限制为80,000个字符
Opera最大url长度限制为190,000个字符
Google chrome最大url长度限制为8182个字符

不同的Web服务器能够处理的URL最大长度也不同,服务端接收到超长的url则会返回414(Request URI Too Long/请求URI过长)。

Apache能接受最大url长度为8,192个字符
IIS能接受最大url的长度为16,384个字符

为了让所有的用户都能正常浏览,URL最好不要超过IE的最大长度限制(2038个字符),如果URL不直接提供给用户,而是提供给程序调用,这时只需考虑Web服务器对url长度限制。

中文字符需经过urlencode编码后进行传递,如果浏览器的编码是UTF8,一个汉字最终编码后的字符长度为9个字符。

POST方法提交“名/值”不受 URL 长度的大小限制,这些“名/值”在请求中的header部分传输的,而不在URL中。

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注