我有一个ASP.Net 3.5平台和Windows 2003服务器的所有更新。什么是URL长度的最佳限制? 100,200 +
.Net有一个限制,它不能处理超过260 characters。此外,如果你在网上查看它,你会发现如果没有修补超过100个字符,IE 6将无法工作。
我想要在最大浏览器数上支持重写路径模块,所以我正在寻找可以创建详细URL的可接受限制。
我有一个ASP.Net 3.5平台和Windows 2003服务器的所有更新。什么是URL长度的最佳限制? 100,200 +
.Net有一个限制,它不能处理超过260 characters。此外,如果你在网上查看它,你会发现如果没有修补超过100个字符,IE 6将无法工作。
我想要在最大浏览器数上支持重写路径模块,所以我正在寻找可以创建详细URL的可接受限制。
Url是路径+查询字符串,并且链接的文章仅讨论限制路径。因此,如果您使用的是asp.net,请不要超过260个字符的路径。少于260个将始终工作,并且asp.net没有冗长querystrings的麻烦。
http://somewhere.com/directory/filename.aspx?id=1234
^^^^^^^- querystring
^^^^^^^^^^^^^^^^^^^^^^^^ -------- path
通常问题出在浏览器上。很久以前,我做了测试并记得许多浏览器支持4k url,除了IE将它限制为2083以外,所有实际用途都将其限制为2083.我不知道IE7和8是否有限制,但是如果你要达到广泛的兼容性,你需要去争取最低的共同点。
需要更多信息,但对于正常情况,我会说尽量保持在150以下。如果没有别的纯粹的修道者,我讨厌有人给我发送GI-NORMOUS链接...
你是否通过查询字符串传递值?我认为这就是为什么你问,对吗?
This article给出了各种浏览器施加的限制。看起来IE浏览器将URL限制为2083个字符,因此,如果您的任何用户使用IE,您应该可以保持该状态。
我认为RFC 4096个说字符,但IE截断到2083个字符。保持良好的安全。
实际上,较短的URL更友好。
为您的应用程序定义“最佳”。
HTTP标准具有限制(这取决于应用程序):
HTTP协议不放置任何 上的URI的长度先验的限制。 服务器必须能够处理它们所服务的任何资源的URI ,并且如果它们提供可以生成这种URI的基于GET的表单 ,则它们能够处理无限长的URI。 A 服务器应该返回414(请求 - URI 太长)状态,如果一个URI比服务器可以处理更长的 (见 第10.4.15节)。
Note: Servers ought to be cautious about depending on URI lengths above 255 bytes, because some older client or proxy implementations might not properly support these lengths.
所以,问题是 - 什么是你的程序的限制,或者你有什么程序需要执行它的所有功能,最大的资源标识符的大小?
你的程序应该有一个自然的限制。
如果不是这样,您可以坚持为16k,因为您没有足够的信息来定义问题。
- 亚当
什么是 “最优” 的呢?
GET请求的长度可能是几个kB,所以这完全是主观的。
我会说 - 留在最大化的1024x768窗口的地址栏长度为用户友好。
如果你想让人们记住这个URL,我不会超过60个。如果可能的话,请使用单词,因为它更容易记住“www.example.com/this-is-the-url “而不是”www.example.com/179264“。如果您尝试将网页编入索引,您可能会做更多。蜘蛛也会在标题中查找单词,如果URL看起来可读,则某些人可能更可能点击该链接。
短;-)
的问题是,每一个web服务器和每个浏览器都有自己的想法,最大有多长。 HTTP协议的RFC没有给出最大长度。 IE限制为2083个字符,路径本身可能最多为2,048个字符。但是,这个限制并不普遍。火狐声称支持至少65,536,但有些人证实,在某些平台上甚至有10万个字符可以工作。 Safari超过80,000(测试)。另一方面,Apache服务器的限制为4000。微软的互联网信息服务器有一个16,384(但它是可配置的)。
我的建议是在任何情况下都要保持低于2'000个字符。这不能保证与世界上的每个浏览器(特别是不是较老的浏览器)一起工作,但它可以适用于所有现代浏览器。此外,我建议尽可能使用POST(例如,避免使用GET进行FORM提交 - 如果某些用户想通过GET模拟FORM提交,请确保您的应用程序通过POST或GET提供所需的参数,但是当您提交页面时你自己通过一个按钮或JS,更喜欢通过GET的POST)。
当你说“最佳”时,我认为“容易访问用户”,在这种情况下,我认为URL越短越好。在那种情况下,我会认为最多20-30个字符。
我听说过这个“蜘蛛在URL中寻找理论”太多次了,但没有任何证据。对于我在一个曾经工作过的大网站上测试过的东西,没有任何区别。小心提供一些可以证明它真的被使用的URL? – 2008-10-07 17:02:49