Яка максимальна довжина URL-адреси в різних браузерах?


4837

Яка максимальна довжина URL-адреси в різних браузерах? Чи відрізняється вона між браузерами?

Чи диктує протокол HTTP?


38
FWIW, для користувачів Windows, серверні шляху , що перевищують 250 символів можуть привести до горю при побудові URL - адрес, наприклад, див HttpContext.Current.Server.MapPath зазнає невдачі довгих імен файлів в forums.asp.net . підсумок: якщо одне обмеження не отримує вас, можливо , інше .
gerryLowry

21
Від support.microsoft.com/kb/208427 "Максимальна довжина URL-адреси - 2 083 символів в Internet Explorer"
gavenkoa

9
Чи можу я запитати, навіщо вам це потрібно було знати? Тобто, який випадок використання довгих URL-адрес?
o0 '.

17
@Lohoris: Якщо форма використовується, getа не postзакладка, закладка сторінки, заповнена заповненою формою, буде захоплювати інформацію, яка була введена. В деяких випадках це може бути погано, але в інших випадках може бути корисним. Щоб це працювало, однак браузер повинен мати можливість обробляти URL-адресу, що містить усю інформацію.
supercat

4
@Lohoris Коли ми пишемо сторінки для створення звітів, ми використовували форму критеріїв. У деяких звітах корисно мати можливість відправляти адресу електронної пошти комусь із вбудованими критеріями. Залежно від звіту, який ми часом змушені використовувати, postабо критерії вкорочуються. Просто ще один випадок використання.
buzzsawddog

Відповіді:


4954

Коротка відповідь - фактична межа 2000 символів

Якщо тримати URL-адреси менше 2000 символів, вони працюватимуть практично в будь-якій комбінації програмного забезпечення клієнта та сервера.

Якщо ви орієнтовані на конкретні веб-переглядачі, див. Нижче для отримання детальної інформації про конкретні обмеження.

Більш довга відповідь - по-перше, стандарти ...

Розділ 3.2.1 говорить RFC 2616 (протокол передачі гіпертексту HTTP / 1.1)

Протокол HTTP не встановлює жодного апріорного обмеження на довжину URI. Сервери ОБОВ'ЯЗКОВО матимуть змогу обробляти URI будь-якого ресурсу, який вони обслуговують, і ОБОВ'ЯЗКОВО мати можливість обробляти URI без обмеженої довжини, якщо вони надають форми на основі GET, які могли б генерувати такі URI. Сервер ДОЛЖЕН би повернути статус 414 (Request-URI Too Long), якщо URI довший, ніж може обробляти сервер (див. Розділ 10.4.15).

Цей RFC був застарілий RFC7230, що є оновленням специфікації HTTP / 1.1. Він містить схожу мову, але також пропонує наступне:

На практиці зустрічаються різні спеціальні обмеження щодо довжини рядка запиту. РЕКОМЕНДОВАНО, щоб усі відправники та одержувачі HTTP підтримували, як мінімум, довжину рядка запиту 8000 октетів.

... і реальність

Ось що кажуть стандарти . Для реальності , була стаття на boutell.com (посилання йде на інтернет - архів резервної копії) , які обговорювали , що окремі реалізації браузера і сервера будуть підтримувати. Резюме:

Надзвичайно довгі URL-адреси, як правило, є помилкою. URL-адреси понад 2000 символів не працюватимуть у найпопулярніших веб-браузерах. Не використовуйте їх, якщо ви плануєте, щоб ваш сайт працював для більшості користувачів Інтернету.

(Примітка: це цитата зі статті , написаної в 2006 році , але в 2015 році зниження означає використання в IE , що довші URL , роблять роботу для більшості Однак, IE все ще має обмеження ....)

Обмеження Internet Explorer ...

Максимальна довжина URL-адреси IE8 - 2083 символів , і, здається, IE9 має аналогічну межу .

Я перевірив IE10, і адресний рядок прийме лише 2083 символів. Ви можете натиснути URL-адресу, яка довша за цю, але в адресному рядку все одно відображатиметься лише 2083 символи цього посилання.

У блозі IE Internals є приємне написання, яке виходить на задній план.

Є змішані звіти IE11 підтримує довші URL-адреси - дивіться коментарі нижче. Зважаючи на те, що деякі люди повідомляють про проблеми, загальна порада все ще існує.

Пошукові системи, такі як URL <2048 символів ...

Майте на увазі, що в протоколі мапи сайтів , який дозволяє сайту інформувати пошукові системи про доступні сторінки, в URL-адресі може бути обмежено 2048 символів. Якщо ви збираєтесь використовувати мапи сайту, для вас вирішено обмеження! (див. відповідь Калін-Андрія Бурлоу нижче)

Також з 2010 року проведено дослідження максимальної довжини URL-адреси, яку пошукові системи скануватимуть та індексуватимуть . Вони встановили, що обмеження склало 2047 знаків, що виявляється об'єднаним із специфікацією протоколу мапи сайту. Однак вони також виявили, що інструмент Google SERP не впорається з URL-адресами, довшими 1855 символів.

CDN мають обмеження

CDN також встановлюють обмеження на довжину URI і повертають a, 414 Too long requestколи ці межі будуть досягнуті, наприклад:

(заслуга timrs2998 за надання цієї інформації у коментарях)

Додатковий раунд браузера

Я перевірив наступне на сервері Apache 2.4, налаштованому на дуже великих LimitRequestLine та LimitRequestFieldSize .

Browser     Address bar   document.location
                          or anchor tag
------------------------------------------
Chrome          32779           >64k
Android          8192           >64k
Firefox          >64k           >64k
Safari           >64k           >64k
IE11             2047           5120
Edge 16          2047          10240

Дивіться також цю відповідь Матаса Вайткевічуса нижче.

Чи актуальна ця інформація?

Це популярне питання, і оскільки оригінальному дослідженню виповнилося ~ 12 років, я спробую його оновлювати: Станом на січень 2020 року порада все ще існує. Незважаючи на те, що IE11, можливо, може приймати більш довгі URL-адреси, всюдисущість старих установок IE плюс обмеження пошукової системи означають, що перебування менше 2000 символів - найкраща загальна політика.


83
Зауважте, що IE11 не буде розміщувати закладки URL-адреси, довжиною більше 260 символів . Я не впевнений, чи має Edge однакове обмеження.
Брайан

10
Сьогодні IE11 скорочує мою URL-адресу до 2048 знаків.
AntiCZ

2
Оригінальне запитання: "Яка максимальна довжина URL-адреси в різних браузерах ". Це не відповідає на питання, це дає лише для IE. Люди роблять веб-сайти для різних цілей, наприклад, внутрішні інструменти, до яких НІКОЛИ не можна буде отримати доступ до IE.
Skeets

13
в Chrome в 2016 році мені вдалося відкрити URL-адресу з 260300 символами ascii, використовуючи команду osx open з простого сценарію, і міг підтвердити, що всі символи передані на сервер. URL-адреса у браузері обрізається 32791 символом, завершуючи ... (% E2% 80% A6% E2% 80% A6)
Роб Доусон,

22
@Paul Dixon Дуже приємно бачити людей, які готові йти вище та далі, відповідаючи на запитання на цьому сайті. Очевидно, люди висловлюють свою вдячність за те, що нарахування поточних результатів становить 3734, але я хотів сказати подяку! :)
drognisep

170

Найдовші URL-адреси, на які я потрапив, - це URL-адреси даних

Приклад URL-адреси зображення з результатів зображення Google (11747 символів)

data:image/jpeg;base64,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

36
Він говорить про те, що jpeg, кодований base64, технічно є URL-адресою, оскільки він вказаний як дані: *. Хоча він правильний, заявляючи, що це дійсна URL-адреса, я не думаю, що саме це питання задавало.
Фітліп

54
... або просто вставити його у свій адресний рядок.
Подвійний Гра

108
Це URI, а не URL.
Майк Джонс

65
Оскільки URL-адреса даних містить протокол "data:" та ідентифікатор, це "LOCATE", що "потрібно" (навіть якщо "Filesystem" - це простір усіх можливих файлів). Тому це URL-адреса, яка також є URI. (Але точно не "не URL-адреса")
MickLH

5
@DoubleGras Google Chrome для Mac не дозволяє мені вставляти URL-адресу, яка довга, до мого адресного рядка
Макс Нанасі

157

FAQ: WWW: Яка максимальна довжина URL-адреси? має власну відповідь на основі емпіричного тестування та дослідження. Коротка відповідь полягає в тому, що перевищення 2048 символів робить Internet Explorer нещасним, і, таким чином, це обмеження, яке ви повинні використовувати. Дивіться сторінку на довгу відповідь.


153

Я написав цей тест, який продовжує додавати 'a'параметр, поки браузер не виходить з ладу

C # частина:

[AcceptVerbs(HttpVerbs.Get)]
public ActionResult ParamTest(string x)
{
    ViewBag.TestLength = 0;
    if (!string.IsNullOrEmpty(x))
    {
        System.IO.File.WriteAllLines("c:/result.txt",
                       new[] {Request.UserAgent, x.Length.ToString()});
        ViewBag.TestLength = x.Length + 1;
    }

    return View();
}

Вид:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<script type="text/javascript">
    $(function() {
        var text = "a";
        for (var i = 0; i < parseInt(@ViewBag.TestLength)-1; i++) {
            text += "a";
        }

        document.location.href = "http://localhost:50766/Home/ParamTest?x=" + text;
    });
</script>

ЧАСТИНА 1

У Chrome я отримав:

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36
2046

Потім він підірвав:

Помилка HTTP 404.15 - не знайдено Модуль фільтрації запитів налаштований для відмови у запиті, коли рядок запиту занадто довгий.

Те саме в Internet Explorer 8 та Firefox

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)
2046

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0
2046

ЧАСТИНА 2

Я перейшов у легкий режим і додав додаткові обмеження для IISExpress applicationhost.config та web.configналаштування maxQueryStringLength="32768".

Chrome failed with message 'Bad Request - Request Too Long

HTTP Error 400. The size of the request headers is too long.

після 7744 символів.

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36
7744

ЧАСТИНА 3

Додано

<headerLimits>
    <add header="Content-type" sizeLimit="32768" />
</headerLimits>

що зовсім не допомогло. Нарешті я вирішив використовувати fiddler, щоб видалити реферала із заголовка.

static function OnBeforeRequest(oSession: Session) {
    if (oSession.url.Contains("localhost:50766")) {
        oSession.RequestHeaders.Remove("Referer");
    }

Що гарно зробив.

Chrome: дісталося 15613 символів. (Я думаю, це обмеження 16K для IIS)

І знову не вдалося:

<BODY><h2>Bad Request - Request Too Long</h2>
<hr><p>HTTP Error 400. The size of the request headers is too long.</p>


Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36
15613

Firefox:

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0
15708

Помилка Internet Explorer 8 при збої iexplore.exe.

Введіть тут опис зображення

Після 2505 року

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)
2505

Android-емулятор

Mozilla/5.0 (Linux; Android 5.1; Android SDK built for x86 Build/LKY45) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/39.0.0.0 Mobile Safari/537.36
7377

Internet Explorer 11

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)
4043

Internet Explorer 10

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)
4043

Internet Explorer 9

Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
4043

Отже, по суті, моє припущення про 512 знаків значною мірою неправильне ^ _ ^ Дякую за тест. Мене більше ніколи не буде хвилювати параметр запиту ..
Гоголь

17
Це має бути прийнятою відповіддю. Перший насправді не передбачає жорстких обмежень для кожного браузера, про що і задаються питання.
GrayedFox

1
Можливо, варто також заглянути в Safari. Safari - єдиний браузер, який не підтримує завантаження, створені клієнтом. Обхідні шляхи: a) відкрити BLRI URI (короткий, тимчасовий URI, який вказує на Blob пам'яті) у новому вікні; b) відкрити URI даних з кодованою базою 64 в новому вікні (може бути дуже довгим, але підтримує введення mime). Деталі тут: github.com/eligrey/FileSaver.js/isissue/12
Mat

@Vaitkevicius Ви знаєте, чи пробіл (% 20) вважається одним символом чи 3?
1818

1
@Jun залежить, де ... натисніть F12 і вставте наступне в консоль, console.log("%20".length +" "+decodeURI("%20").length)це має пояснити це
Матас Вайткевічус,

96

Не існує універсальної максимальної довжини URL-адреси. Максимальна довжина визначається лише тим, що веб-переглядач клієнта обирає для підтримки, яке значно варіюється. Ліміт 2 083 є лише в Internet Explorer (усі версії до 7.0). Максимальна довжина у Firefox та Safari, здається, не обмежена, хоча нестабільність виникає з URL-адресами, що сягають близько 65 000 символів. Схоже, що Opera не має максимальної довжини URL-адреси і не зазнає нестабільності при надзвичайно великій довжині.


8
Якщо нестабільність становить близько 65 к, вона, ймовірно, знаходиться поблизу 65535 (2 ^ 16 - 1). Може бути, вони перебирають символи за допомогою коротких i? Просто думка. Цікаво, яку URL-адресу вони перевірили на 65k + o_o ;;
Гарет Клаборн

5
Ця відповідь, можливо, та, яку слід прийняти, оскільки надає конкретні відповіді: 2k для IE, 65k для Safari / Firefox, «більше» для Opera.
ей

Мені цікаво. Чи 65k URL - це URI схеми даних чи справді URL у класичному розумінні?
SaAtomic

81

На платформах Apple (iOS / macOS / tvOS / watchOS) обмеження може бути схемою URL-адреси довжиною 2 Гб , як це бачиться в цьому коментарі у вихідному коді Swift :

// Make sure the URL string isn't too long.
// We're limiting it to 2GB for backwards compatibility with 32-bit executables using NS/CFURL
if ( (urlStringLength > 0) && (urlStringLength <= INT_MAX) )
{
...

На iOS я перевірив і підтвердив, що навіть приймається URL довжиною 300+ Мб. Ви можете спробувати таку довгу URL-адресу, як ця в Objective-C:

NSString *path = [@"a:" stringByPaddingToLength:314572800 withString:@"a" startingAtIndex:0];
NSString *js = [NSString stringWithFormat:@"window.location.href = \"%@\";", path];
[self.webView stringByEvaluatingJavaScriptFromString:js];

І спіймати, якщо це вдасться:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    NSLog(@"length: %@", @(request.URL.absoluteString.length));
    return YES;
}

74
Ви, сер, заслуговуєте +1 лише за те, щоб спробувати URL-адресу 300 Мб
Дамян Станчев

3
iOS не сам по собі браузер. Це було в Safari для iOS?
Рандалл

6
Схеми @Randall обробляються ОС і потім відправляються в додаток, який може їх відкрити. Таким чином, усі додатки на iOS, включаючи Safari, можуть працювати з довгим URI.
Cœur

1
Дякуємо за роз’яснення. Імовірно, однак це не заважає довільній програмі (скажімо, наприклад, браузеру, що працює на Tor) вводити власне обмеження довжини, правда?
Рандалл

1
@Randall правильно, але чому б хто це робив ...
Xander

70

URI RFC (з яких URL - адреси є підмножиною) не визначає максимальну довжину, проте, це не рекомендується , що ім'я хоста частина URI (якщо це можливо) , не повинна перевищувати 255 символів в довжину:

Виробники URI повинні використовувати імена, які відповідають синтаксису DNS, навіть коли використання DNS не відразу видно, і повинні обмежувати ці імена довжиною не більше 255 символів.

Як зазначається в інших публікаціях, деякі веб-переглядачі мають практичне обмеження щодо довжини URL-адреси.


55

Специфікація HTTP 1.1 говорить:

URI в HTTP можуть бути представлені в абсолютній формі або відносно деякого
відомого базового URI [11], залежно від контексту їх використання. Дві
форми відрізняються тим, що абсолютні URI завжди починаються
з назви схеми, за якою слідує двокрапка. Для отримання остаточної інформації про
синтаксис та семантику URL-адрес див. "Уніфіковані ідентифікатори ресурсів (URI): Загальний синтаксис та семантика", RFC 2396 [42] (який замінює RFC 1738 [4] та RFC 1808 [11]). Ця специфікація приймає визначення "URI-посилання", "
absolURURI", "RelaURI", "порт", "хост", "abs_path", "rel_path" та "повноваження" з цієї
специфікації.

Протокол HTTP не встановлює жодного апріорного обмеження на довжину
URI. Сервери ОБОВ'ЯЗКОВІ мати можливість обробляти URI будь-якого ресурсу, який вони обслуговують, і ДОЛЖЕН би мати можливість обробляти URI без обмеженої довжини, якщо вони надають форми на основі GET, які могли б генерувати такі URI. *
Сервер ДОЛЖЕН повернути 414 (Request-URI Too Long) статус, якщо URI довший, ніж може обробляти сервер (див. розділ 10.4.15).

Примітка. Сервери повинні бути обережними щодо залежно від довжини URI вище 255 байт, оскільки деякі старі клієнтські або проксі-сервіси можуть не підтримувати ці довжини належним чином.

Як зазначає @Brian, клієнти HTTP (наприклад, браузери) можуть мати свої обмеження, а сервери HTTP матимуть різні обмеження.


47

Служба підтримки Microsoft говорить, що "Максимальна довжина URL-адреси - 2 083 символів в Internet Explorer".

У IE проблеми з URL-адресами довші. Здається, Firefox прекрасно працює з> 4 к.с.


39

У URL-адресі як користувальницький інтерфейс Якоб Нільсен рекомендує:

соціальний інтерфейс до Інтернету покладається на електронну пошту, коли користувачі хочуть рекомендувати веб-сторінки один одному, а електронна пошта є другим найпоширенішим способом доступу користувачів до нових сайтів (пошукові системи є найпоширенішими): переконайтеся, що всі URL-адреси вашої на сайті розміром менше 78 символів, щоб вони не переходили через канал рядка.

Це не максимум, але я вважаю це практичним максимумом, якщо ви хочете, щоб ваша URL-адреса була спільною.


3
Цікаво, звідки "78"? Можливо, ця оригінальна стаття 1999 року була написана при припущенні, що люди читають свою електронну пошту у вікнах терміналів 80x24? Все-таки хороша порада!
Джон Шнайдер

3
Добре. Перфокарт IBM також був 80 стовпчиків. З двома персонажами, повернутими за перевезення вагона та лінійкою, ви отримуєте 78.
Пол Морган

1
Ха-ха. :-) Я фактично розглядав у своєму коментарі посилання моніторів CGA 80x25 1981-х років, але ви дійшли ще більше назад! ... Я не був поруч за епоху перфокартів, але вони були 80 байт поперек, або лише 80 біт?
Джон Шнайдер

1
Не зовсім байт (8 біт). Він кодував по одному символу в кожній колонці.
Пол Морган

3
@JonSchneider - 78 є досить специфічним і може стосуватися читабельності тексту (з точки зору зручності використання, з огляду на фон Нільсена), яка найкраща між 50-60 і максимум 75 .
Jay Rainey

36

Протокол Sitemaps , який дозволяє веб-майстрам інформувати пошукові системи про сторінки на своїх сайтах (також використовуються Google в Інструментах для веб-майстрів), підтримує URL-адреси, які містять менше 2048 символів. Тож якщо ви плануєте використовувати цю функцію для оптимізації пошукових систем, врахуйте це.


Це трохи заплутано. Протоколи Sitemap "підтримують URL-адреси, які містять менше 2048 символів." Я уявляв, що сайт, наприклад example.com, запрацює. Я думаю, це питання стосується максимуму?
HoldOffHunger

19

Служби звітування ASP.NET 2 та SQL Server 2005 мають обмеження 2028. Я виявив це важким способом, коли мій динамічний генератор URL не передав би якісь параметри до звіту поза цією точкою. Це було під Internet Explorer 8.


18

Чому обмеження Internet Explorer становить лише 2K, а IIS - 16K? Я не думаю, що це має сенс.

Тому я хочу розпочати експеримент щодо обмежень розміру URL-адреси запиту Ajax.

Я встановив maxHttpHeaderSize = "1048576" свого з'єднання Tomcat HTTP. І підготував дуже довгу URL-адресу.

Потім я надсилаю запит із довгою URL-адресою, наприклад:

var url="/ajax/url-length.jsp";
jQuery.ajax(url,{data:{q:"0".repeat(1048000-url.length-4)}});

Звіти jQuery зроблені. Tomcat повідомляє, що потрібна URL-адреса - 1048015 байт. Він був протестований з Chrome 50 та Internet Explorer 11.

Тож веб-браузери не будуть навмисно обрізати та обмежувати вашу URL-адресу при надсиланні запитів на Ajax.


4
Різниця між Internet Explorer і IIS має сенс, якщо врахувати, що не всі запити на веб-сервер здійснюються через браузер.
TroySteven

15

Директива щодо обмеження рядка запиту встановлює максимальну довжину URL-адреси. За замовчуванням встановлено 8190, що дає вам багато місця. Однак інші сервери та деякі веб-переглядачі обмежують довжину більше.

Оскільки всі параметри передаються в рядку URL-адреси, елементи, які були в паролі прихованих полів, також будуть відображатися в URL-адресі звичайно. Жоден мобільний телефон не повинен використовуватися для реальних заходів безпеки, а в кращому випадку слід вважати косметичною безпекою.


11

У мене є досвід роботи з SharePoint 2007, 2010, і існує обмеження довжини URL-адреси, яку ви можете створити на стороні сервера, в цьому випадку SharePoint, тому це в основному залежить від, 1) клієнта (браузера, версії та ОС) та 2) серверна технологія, IIS, Apache тощо.


1
Оскільки SharePoint виставляє веб-URL-адреси як шляхи до файлів, це стикається з окремим обмеженням: обмеження довжини шляху файлу Windows 260 символів (або 248 символів при використанні API). Щоб отримати докладніші відомості про цей ліміт, перегляньте розділ "Максимальне обмеження довжини шляху" тут: msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx
Thriggle

10

Здається, що Chrome принаймні підняв цю межу. Я вставив у закладки 20 000 символів, і це знадобилось.


1

Згідно специфікації HTTP, довжина URL-адреси не обмежена. Тримайте URL-адреси не більше 2048 символів; це забезпечить роботу URL-адрес у всіх налаштуваннях клієнтів та серверів. Також пошукові системи, як-от URL-адреси, мають містити приблизно 2000 символів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.