Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Http URL路径中的段的安全最大长度应该是多少?_Http_Url_Uri - Fatal编程技术网

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

Http URL路径中的段的安全最大长度应该是多少?,http,url,uri,Http,Url,Uri,很多人都在问“URL的最大长度是多少?”但据我所知,没有人在问这个问题: URL路径中的段的安全最大长度应该是多少 我认为这个问题同样重要 这个问题是一个一般性问题,旨在支持尽可能多的开箱即用系统 在C#中,您可以从传入请求中获取URL路径段的列表,安装了安全模块后,在这种情况下,URL路径中的段的最大长度是多少 我在下一页读到,超过260个字符的URL路径段可能会导致自定义ASP.NET模块出现问题: 在web浏览器中,无论您访问哪个网站,都可以键入URL段,/是通常映射到主页的URL路

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

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

我认为这个问题同样重要

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

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

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

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

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

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

我还知道,在重写路径时,底层文件系统路径长度起作用,在*nix操作系统中,我所看到的受支持的大致数字大约是255个字符

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

有没有关于URL路径段可以有多长的W3C规范,因为我什么都看不见

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

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


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

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

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

不应超过(只是常见的做法)。可以是任何大小的

域的长度不应超过255个字符(请参阅)。限制只存在于实施中附加到URL的段仅在特定情况下受到限制(旧的通用用法)

现在,几乎所有的请求都通过一个文件进行,所以段长度无关紧要。 之后,段被保存在一个可能非常大的变量中,因此基本上没有限制。

可能与

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

Chrome对URL有2MB的限制,IE8和IE9有2084个字符的限制。因此,所有这些都需要将您的URL限制在大约2000个字符以内

此外,从可用性的角度来看,长URL对于用户来说是不可用/不可读的

但是,域名的最大长度为255个字符。
为了安全起见,一个URL段的最大长度大约为1745个字符,因为您的URL存在于一个段之外。

这就是我想要的,一个实现限制列表。一个段只是URL的一部分。是的,所以最大段长度将是最大URL长度-255(对于域名)。我将更新我的answer.FWIW,Twitter的URL解析在大约4000个字符后中断,之后tweet显示为太长;)(截至2019-08-08)旧问答,但这个被接受的答案仍然不能回答实际问题。如问题中所述,某些*nix系统在执行URL重写时无法支持长度超过255个字符的路径段,因此此处的答案(1745个字符)在这些系统上不安全。我认为OP要求的是跨越各种系统的最大安全段长度。很可能他们已经回答了自己的问题:出于给定的原因,将段限制在255个字符以下。URL段的可能重复与URL不同。对不起,你说得对,我没有给予足够的注意。