URL/URI最大长度是多少?

URL是Uniform Resource Location的缩写,中文术语是“统一资源定位符”。
URI是Uniform Resource Identifiers的缩写,中文术语是“统一资源标识符”。

通常我们在浏览器中输入诸如“http://www.example.com/example/index.html”之类的地址时,这个字符串可以称之为一个URL,那么URL最长支持多少个字节呢?理论上是没有任何对于URL的长度限制的,我们现在讨论的范围是HTTP协议范畴内URL长度的限制:在定义HTTP1.0的RFC1945中,并没有提及URL长度问题;而在定义HTTP1.1的RFC2616对此问题进行了说明:
......
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.
......
RFC2616中并没有对URL、URI的长度进行限制,所以,理论上可以写无限长的URL;但如果服务器发现URL太长而无法处理时,会返回414状态码。
在实际使用中,URL不可能无限长,是有一定限制的,这种限制在客户端(浏览器)和服务器端都存在,下面我们做点小实验,看看URL在常见的浏览器和服务器下的限制:
测试环境:
客户端操作系统:Windows XP SP2
客户端:IE6.0 firefox2.0.0.5
服务端操作系统:RedHat Advanced Server 4 2.6.9-5.EL #1
服务端:Apache1.3.36
分析工具:tcpdump php

经测,IE6.0的最长字节数为2047,firefox2.0.0.5支持的URL比较长,超过了apache的限制8190(如果URL超过浏览器限制,浏览器对URL自动截取,多余部分舍弃);
服务器端的apache1.3.36的最大长度为8190(由宏DEFAULT_LIMIT_REQUEST_LINE决定)。 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值