我有一個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