主頁(yè) > 知識(shí)庫(kù) > 網(wǎng)址(URL)支持的最大長(zhǎng)度是多少?最大支持多少個(gè)字符?

網(wǎng)址(URL)支持的最大長(zhǎng)度是多少?最大支持多少個(gè)字符?

熱門(mén)標(biāo)簽:鄭州中國(guó)移動(dòng)400電話(huà)申請(qǐng) 地圖標(biāo)注審核工作怎么樣注冊(cè) 福建ai電銷(xiāo)機(jī)器人加盟公司 無(wú)錫電銷(xiāo)機(jī)器人銷(xiāo)售 招聘信息 南召400電話(huà)辦理資費(fèi) 熱血傳奇沃瑪森林地圖標(biāo)注 揭陽(yáng)外呼系統(tǒng)公司 地圖標(biāo)注植物名稱(chēng) 去哪里辦卡

今天在測(cè)試Email Ticket的時(shí)候發(fā)現(xiàn)在進(jìn)行Mark as Read/Unread操作時(shí),請(qǐng)求是通過(guò)GET方式進(jìn)行的。URL中列出了所有參與該操作的Ticket Id。于是,我想起GET請(qǐng)求是有最大長(zhǎng)度限制的。遂輸入超長(zhǎng)一串Ticket Id進(jìn)行請(qǐng)求,結(jié)果頁(yè)面報(bào)錯(cuò)如下:

復(fù)制代碼 代碼如下:

Request-URI Too Large
The requested URL's length exceeds the capacity limit for this server.

經(jīng)過(guò)一番搜索之后,發(fā)現(xiàn)IIS 7對(duì)于Query String有長(zhǎng)度限制。默認(rèn)為2048.
該問(wèn)題的解決辦法可以通過(guò)修改configuration/system.webServer/security/requestFiltering/requestLimits@maxQueryString setting.

復(fù)制代碼 代碼如下:

requestLimits maxQueryString="length" />

具體可以查看微軟KB: Error message when you visit a Web site that is hosted on a server that is running IIS 7.0: "HTTP Error 404.15 – Not Found"

搜索過(guò)程中發(fā)現(xiàn),各瀏覽器與各Web Server對(duì)URL均有長(zhǎng)度的限制如下:
在http協(xié)議中,其實(shí)并沒(méi)有對(duì)url長(zhǎng)度作出限制,往往url的最大長(zhǎng)度和用戶(hù)瀏覽器和Web服務(wù)器有關(guān),不一樣的瀏覽器,能接受的最大長(zhǎng)度往往是不一樣的,當(dāng)然,不一樣的Web服務(wù)器能夠處理的最大長(zhǎng)度的URL的能力也是不一樣的。
下面就是對(duì)各種瀏覽器和服務(wù)器的最大處理能力做一些說(shuō)明.

復(fù)制代碼 代碼如下:

Microsoft Internet Explorer (Browser)

IE瀏覽器對(duì)URL的最大限制為2083個(gè)字符,如果超過(guò)這個(gè)數(shù)字,提交按鈕沒(méi)有任何反應(yīng)。在我的測(cè)試中,這個(gè)數(shù)字得到驗(yàn)證。

復(fù)制代碼 代碼如下:

Microsoft Internet Explorer has a maximum uniform resource locator (URL) length of 2,083 characters. Internet Explorer also has a maximum path length of 2,048 characters. This limit applies to both POST request and GET request URLs.
If you are using the GET method, you are limited to a maximum of 2,048 characters, minus the number of characters in the actual path.
However, the POST method is not limited by the size of the URL for submitting name/value pairs. These pairs are transferred in the header and not in the URL.

微軟官方也有說(shuō)明:

Firefox (Browser)
對(duì)于Firefox瀏覽器URL的長(zhǎng)度限制為65,536個(gè)字符,但當(dāng)我測(cè)試時(shí),最大只能處理8182個(gè)字符,這是因?yàn)閡rl的長(zhǎng)度除了瀏覽器限制外,還會(huì)受Web服務(wù)器的限制,而我本機(jī)使用的是ubuntu apache服務(wù)器,最大處理能力為8192個(gè)字符(相差10個(gè)字符,不知道是什么原因),一旦超過(guò)這個(gè)長(zhǎng)度,服務(wù)器就返回如下錯(cuò)誤信息。

Safari (Browser)
URL最大長(zhǎng)度限制為 80,000個(gè)字符。

Opera (Browser)
URL最大長(zhǎng)度限制為190,000個(gè)字符。

Google (chrome)
url長(zhǎng)度一旦超過(guò)8182個(gè)字符時(shí),出現(xiàn)如下服務(wù)器錯(cuò)誤:

寫(xiě)道

復(fù)制代碼 代碼如下:

Request-URI Too Large
The requested URL's length exceeds the capacity limit for this server.
Apache/2.2.12 (Ubuntu) Server at 127.0.1.1 Port 80

Apache (Server)
能接受最大url長(zhǎng)度為8,192個(gè)字符,但我的測(cè)試數(shù)據(jù)是8,182,10個(gè)字符,差別不在,數(shù)據(jù)具體符合。

Microsoft Internet Information Server(IIS)
能接受最大url的長(zhǎng)度為16,384個(gè)字符。

通過(guò)上面的數(shù)據(jù)可知,為了讓所有的用戶(hù)都能正常瀏覽,我們的URL最好不要超過(guò)IE的最大長(zhǎng)度限制(2038個(gè)字符),當(dāng)然,如果URL不直接提供給用戶(hù),而是提供給程序調(diào)用,側(cè)這時(shí)的長(zhǎng)度就只受Web服務(wù)器影響了。

注:可能有些朋友會(huì)想當(dāng)然的認(rèn)為,如果最大長(zhǎng)度限制為2038字符,是不是參數(shù)差不多可以傳遞1000個(gè)左右的漢字。這樣認(rèn)為其實(shí)是不對(duì)的,對(duì)于中文的傳遞,最終會(huì)為urlencode后的編碼形式進(jìn)行傳遞,如果瀏覽器的編碼為UTF8的話(huà),一個(gè)漢字最終編碼后的字符長(zhǎng)度為9個(gè)字符。

標(biāo)簽:南昌 黔南 鹽城 宣城 景德鎮(zhèn) 東莞 文山 桂林

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《網(wǎng)址(URL)支持的最大長(zhǎng)度是多少?最大支持多少個(gè)字符?》,本文關(guān)鍵詞  網(wǎng)址,URL,支持,的,最大,長(zhǎng)度,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《網(wǎng)址(URL)支持的最大長(zhǎng)度是多少?最大支持多少個(gè)字符?》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于網(wǎng)址(URL)支持的最大長(zhǎng)度是多少?最大支持多少個(gè)字符?的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章