首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >URL路径中的段的最大安全长度应该是什么?

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

Stack Overflow用户
提问于 2015-04-05 14:41:14
回答 3查看 81.5K关注 0票数 59

很多人都在问“URL的最大长度是多少?”但据我所知,没有人会问这个问题:

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

我认为这个问题同样重要。

这个问题是一个一般性问题,目的是尽可能支持尽可能多的系统。

在C#中,您可以从传入的请求中获得URL路径段的列表,并且安装了安全模块--对于这种情况,在URL路径中的段的最大长度可以是多少?

我在下面的页面上看到,超过260个字符的URL路径段可能会在自定义ASP.NET模块中造成问题:

在网络浏览器中,无论访问哪个网站,都可以输入URL段,/是一个URL路径段,通常映射到主页。由于Internet Explorer、Chrome和Firefox是流行的浏览器,它们支持的URL路径段长度的最大长度是多少?

我从以下资源中可以看出,不同浏览器的URL路径的最大长度不同,有时这个数字相当高:

但这是一条路径,而不是路径段。

我还注意到,当重写路径时,底层文件系统路径长度开始发挥作用,我所能看到的支持的大概是255个字符在*nix操作系统中。

其他注意事项包括数据库表中URL路径段的最大长度。例如,在MySQL中,varchar列最多可以包含255个字符,但是否存在这样的情况:人们是将路径段存储在MySQL中的表中,还是将完整的URL存储在varchar列中?这是否意味着255个字符对于URL路径段来说太长了?

在我找不到任何东西的情况下,是否有关于URL路径段可以持续多长时间的W3C规范?

我确实在URI上阅读了W3C规范,但我还是没有发现任何有用的地方:

我很困惑,对于URL路径段的长度没有设定的标准,所以我可能遗漏了什么?

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-11-16 10:42:43

可能与不同浏览器中URL的最大长度是多少?有关

总之

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

Chrome的URL限制为2MB,IE8和9的字符限制为2084。因此,所有的点,保持您的URL限制在大约。2000字。

此外,从可用性的角度来看,长期不能为用户所用/不可读的URL.

然而,域名有一个最大值。长度255个字符。为了安全起见,最大限度。一个URL段的长度大约为1745个字符,假设您的URL存在于一个段中.

票数 102
EN

Stack Overflow用户

发布于 2015-11-09 18:35:54

没有这样的规格限制。可能存在实现限制,但在规范中找不到这些限制。

Nit: URI是由IETF定义的,而不是W3C,当前的规范是RFC 3986。

票数 7
EN

Stack Overflow用户

发布于 2015-11-10 09:48:21

URL长度不应该超过2K (只是常见的做法)。段路径可以是任意大小的。

域长度不应超过255个字符(参见RFC3986)。限制只存在于执行方面。附加在URL上的段仅在特定情况下(旧的常见用途)受到限制。

现在,几乎所有的请求都经过一个http://web.archive.org/web/20180819034451/https://www.addedbytes.com/blog/url-rewriting-for-beginners/文件,所以段长并不重要。在此之后,段被保存在一个可以非常大的变量中,所以基本上没有限制。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29458445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档