相信很我朋友都有这个疑问,或者当有人问起时,可能会临时的去网站搜索一下,答案就多了,我搜到的答案就有好几个,1024个字符啊、4096个字符啊,反正什么样的结果都有,那么究竟url的最大长度是多少呢?今天下午为了解决这个疑问,查了一些资料,并做了一些测试,基本上可能得出结论。
在http协议中,其实并没有对url长度作出限制,往往url的最大长度和用户浏览器和Web服务器有关,不一样的浏览器,能接受的最大长度往往是不一样的,当然,不一样的Web服务器能够处理的最大长度的URL的能力也是不一样的。
下面就是对各种浏览器和服务器的最大处理能力做一些说明.
Microsoft Internet Explorer (Browser)
IE浏览器对URL的最大限制为2083个字符,如果超过这个数字,提交按钮没有任何反应。在我的测试中,这个数字得到验证。
Firefox (Browser)
对于Firefox浏览器URL的长度限制为65,536个字符,但当我测试时,最大只能处理8182个字符,这是因为url的长度除了浏览器限制外,还会受Web服务器的限制,而我本机使用的是ubuntu apache服务器,最大处理能力为8192个字符(相差10个字符,不知道是什么原因),一旦超过这个长度,服务器就返回如下错误信息。
写道
Bad Request
Your browser sent a request that this server could not understand.
Size of a request header field exceeds server limit.
Safari (Browser)
URL最大长度限制为 80,000个字符。
Opera (Browser)
URL最大长度限制为190,000个字符。
Google (chrome)
url长度一旦超过8182个字符时,出现如下服务器错误:
写道
Request-URI Too Large
The requested URL's length exceeds the capacity limit for this server.
Apache/2.2.12 (Ubuntu) Server at 127.0.1.1 Port 80
Apache (Server)
能接受最大url长度为8,192个字符,但我的测试数据是8,182,10个字符,差别不在,数据具体符合。
Microsoft Internet Information Server(IIS)
能接受最大url的长度为16,384个字符。
通过上面的数据可知,为了让所有的用户都能正常浏览,我们的URL最好不要超过IE的最大长度限制(2038个字符),当然,如果URL不直接提供给用户,而是提供给程序调用,侧这时的长度就只受Web服务器影响了。
注:可能有些朋友会想当然的认为,如果最大长度限制为2038字符,是不是参数差不多可以传递1000个左右的汉字。这样认为其实是不对的,对于中文的传递,最终会为urlencode后的编码形式进行传递,如果浏览器的编码为UTF8的话,一个汉字最终编码后的字符长度为9个字符。
分享到:
相关推荐
客户端(如浏览器)会设定一个最大长度,防止因过长的URL导致的问题。例如,IE浏览器限制为2083个字符,Opera是4050个字符,Netscape是8192个字符。这是因为URL需要在内存中存储,过长的URL可能会消耗过多资源或超出...
在Web开发和接口调试中,我们常常会遇到关于URL最大长度限制的问题。本文档将从多个方面详细查证和分析URL长度限制的相关知识,包括RFC标准、主流浏览器以及服务器端的限制情况,为以后的使用提供便利。 首先,我们...
在使用GET方法通过URL传递参数时,大多数浏览器和服务器都有一个最大长度限制。这个限制通常在2048字节左右,约2KB。因此,在文件描述中提到的2083字符的限制实际上是这个URL长度限制的体现。 3. **HTML链接标签和...
- **边界值测试**:测试URL长度的最大值和最小值。 - **压力测试**:模拟大量并发请求,观察系统的响应情况。 - **安全测试**:尝试注入恶意代码,评估系统的防御能力。 - **兼容性测试**:在不同浏览器和操作系统下...
1. **字符串资源**:在Android的XML资源文件中定义字符串时,如果字符串过长,可能会超过Android系统允许的最大长度,导致编译错误。系统默认的限制可能因设备和Android版本而异,通常在10000个字符左右。 2. **...
在HTTP协议层面,虽然没有明确规定URL和请求体的最大长度,但是服务器和浏览器通常会设置自己的限制。如果超过了这些限制,服务器可能会返回414状态码,表示请求的URI过长。 在安全性方面,由于GET请求的参数在URL...
2. **URL长度限制**:加密后的URL可能会超过URL的最大长度,需要考虑是否需要分片或使用POST请求。 3. **兼容性**:不同的浏览器和服务器对URL中的特殊字符处理可能不同,加密前需做URL编码。 4. **安全性评估**:...
输入URL后会发生什么1 输入URL后会发生什么是一个复杂的网络通信过程,...(具体步骤可看HTTP协议pdf)HTTP协议进行了多次改进,由最初HTTP1.0-HTTP1.1-结合SPDY-HTTP2.0,最新的HTTP2.0协议相当于将SPDY并入HTTP中。
参数一般设置为最大连接队列长度。 4. **接受连接**: 当有客户端连接请求时,服务器调用accept()函数,获取一个新的socket用于与客户端通信,并将原始socket保持在监听状态,继续接受新的连接。 5. **建立连接**...
2. **限制条件**:由于数据是通过URL传递的,因此GET请求的长度受限于URL的最大长度,这意味着GET请求能携带的数据量有限制。 3. **缓存机制**:GET请求可以被浏览器缓存,这意味着相同或相似的GET请求在后续的调用...
描述:询问在IEEE802.2模型中,使用双绞线的10BASE-T标准允许的最大电缆长度是多少? #### 题目15:选择题 **知识点:网络技术** 描述:询问100Mbps Fast Ethernet与10Mbps Ethernet的主要区别是什么? #### 题目...
在HLS协议中,原始的音视频流被切分成一系列较短的小文件,每个文件称为一个媒体片段。这种分段方式使得播放器可以在不同的网络条件下动态地选择合适的质量级别进行播放,同时也能有效地减少因网络波动导致的播放...
将 url 转换为简化字符串 概要 slugify-url 将 url 映射到一个经过清理... 最大长度默认 100 跳过协议默认为真 skipuserpass 默认为真 例如 => => 或者如果 unixOnly 是真的 => => 安装 npm install slugify-url
与传统的短信不同,彩信利用GPRS网络和WAP无线应用协议作为传输媒介,能够实现手机端到端、手机到互联网或互联网到手机的多媒体信息即时传送。 #### 二、彩信的系统组成 彩信系统的架构较为复杂,主要由以下几个...
- `useFullyQualifiedRedirectUrl`:指示客户端重定向是否应该是完全限定的URL,即包括协议、服务器和路径。如果设置为True,非完全限定的重定向将自动转换为完全限定格式。 - `minFreeThreads`和`...
2. 有长度限制:URL的最大长度有限制,通常为2KB左右,所以GET请求不能传输大量数据。 3. 缓存:浏览器可以缓存GET请求,提高性能,但可能造成数据过时。 4. 可被书签:GET请求可以被用户书签,方便再次访问。 POST...
不同浏览器和服务器对URL的最大长度有不同的规定,比如IIS 4的默认最大长度为80KB,IIS 5为100KB。 - **POST**:理论上没有数据量的限制。实际应用中,可以通过设置来控制POST数据的最大大小,但这个限制通常远高于...
- `int nEncodeLen`:转换后字符串的最大长度。 - **实现步骤**: 1. **多字节到宽字符转换**:首先通过`MultiByteToWideChar`函数将输入的多字节字符串转换为宽字符字符串,这里使用的是系统默认的ANSI编码(CP...