2015-04-05 77 views
26

很多人都在问“什么是最大长度一个的URL可以吗?”但是据我所见,没有人会问这个问题:URL路径中段的安全最大长度应该是多少?

什么是URL路径中段的安全最大长度应该是多少?

我觉得这个问题同等重要。

这个问题是一个普遍的问题,旨在支持尽可能多的系统开箱即用。

在C#中,您可以从传入请求中获取URL路径段的列表,其中安装了安全模块,这种情况下URL路径中的段的最大长度是什么?

我读过下页,超过260个字符的URL路径段可能会导致自定义ASP.NET模块问题:

在Web浏览器,键入URL段无论您访问哪个网站,/是一个通常映射到主页的URL路径段。随着Internet Explorer,Chrome和Firefox成为流行的浏览器,它们支持的URL路径段长度的最大长度是多少?

我可以从下面的资源,一个URL路径的最大长度不同,针对不同的浏览器和数字有时是相当高看:

但是,这是一个路径,不是路径段。

我也知道,当重写路径时,基础文件系统路径长度起作用,我能看到支持的球形图在* nix OS中大约有255个字符。

其他考虑因素包括数据库表中URL路径段的最大长度。例如,在MySQL中,一个varchar列最多可以包含255个字符,但有没有这种情况,是否有人在MySQL的表中存储路径段,或者是否存储完整的URL在varchar列中?这是否意味着255个字符对于URL路径段来说太长了?

是否有任何W3C规范的URL路径段可以多长时间,因为我什么都找不到?

我看过W3C规范上的URI,但我又没有当场使用的东西:

我很困惑,有什么一个没有一套标准URL路径段应该是长度,所以也许我错过了一些东西?

我真的在寻找尽可能多的关于不同系统支持的信息,以及什么被认为是URL路径段的安全长度。

+0

可能重复[在不同浏览器中URL的最大长度是多少?](https://stackoverflow.com/questions/417142/what-is-the-maximum-length-of-a-url-在不同浏览器中) – 2017-06-07 05:26:54

+1

URL的一部分与URL不同。 – 2017-06-07 08:01:20

+0

对不起,你是对的,我没有足够的重视。 – 2017-06-07 08:05:50

回答

29

可能相关的What is the maximum length of a URL in different browsers?

总之

根据HTTP规范,没有限制到一个URL的长度。保持您的网址低于2048个字符;这将确保这些URL在所有客户端&服务器配置中工作。此外,像URL这样的搜索引擎将保持在大约2000个字符以内。

Chrome对URL的限制为2MB,IE8和9的限制为2084个字符。因此,所有内容都将您的网址限制在约。 2000个字符。

此外,从可用性的角度来看,用户不能使用/读取长URL。

但是,域名有一个最大值。长度为255个字符。 因此,为了安全起见,考虑到您的网址存在于1段以外,网址的长度大约为1745个字符。

+0

段只是网址的一部分。 – 2015-11-16 11:29:23

+0

是的,所以最大。段长度将是最大的。网址长度 - 255(对于域名)。我会更新我的答案。 – 2015-11-16 11:31:26

4

没有这样的规格限制。有可能是执行限制,但你不会在规范中找到。

尼特:URI是由IETF定义,而不是W3C,并且当前规范是RFC 3986.

+0

这就是我之后的实施限制列表。 – 2015-11-10 09:43:39

0

的最大的URL长度应不然后2K(只是常见的做法)。段路径可以有任意大小。域长度不应超过255个字符rfc3986.txt。 限制只存在于实现中。只附加文件名的段只限于特定的(旧的常用)情况。现在几乎所有请求都通过重写规则通过一个文件,因此段长度无关紧要。 之后,该段被保存在当今非常大的变量中,所以没有限制。

相关问题