Какова максимальная длина URL в разных браузерах?

В общем, то есть неограниченное число знаков после запятой:

^-?(([1-9]\d*)|0)(.0*[1-9](0*[1-9])*)?$.

4581
задан Kara 18 September 2018 в 17:24
поделиться

7 ответов

Короткий ответ - фактический предел 2 000 символов

, Если Вы сохраняете URL под 2 000 символов, они будут работать в фактически любой комбинации программного обеспечения клиента и сервера.

при предназначении для конкретных браузеров посмотрите ниже для получения дополнительной информации определенные пределы.

Более длинный ответ - сначала, стандарты...

раздел (Hypertext Transfer Protocol HTTP/1.1) RFC 2616 3.2.1 говорит

, протокол HTTP не устанавливает априорной границы длины URI. Серверы ДОЛЖНЫ смочь обработать URI любого ресурса, которому они служат и ДОЛЖНЫ смочь обработать URIs неограниченной длины, если они обеспечивают, ДОБИРАЮТСЯ - базирующиеся формы, которые могли бы генерировать такой URIs. Сервер ДОЛЖЕН возвратить 414 состояний (Request-URI Too Long), если URI длиннее, чем сервер может обработать (см. раздел 10.4.15).

, Что RFC был obsoleted RFC7230, который является обновлением спецификации HTTP/1.1. Это содержит подобный язык, но также и продолжает предлагать это:

Различные специальные ограничения на длину строки запроса найдены на практике. Рекомендуется, чтобы все отправители HTTP и получатели поддерживали, как минимум, длины строки запроса 8 000 октетов.

... и действительность

Это - то, что эти говорят стандарты . Для действительность , см. это исследование по boutell.com для наблюдения то, что будут поддерживать отдельный браузер и реализации сервера. Это стоит чтения, но резюме:

Чрезвычайно длинные URL обычно являются ошибкой. URL более чем 2 000 символов не будут работать в самых популярных веб-браузерах. не используют их, если Вы предназначаете свой сайт для работы на большинство интернет-пользователей.

(Примечание: это - кавычка от статьи, написанной в [1 119] 2006 , но в 2015 использование снижения IE означает, что более длинные URL делают работа для большинства. Однако IE все еще имеет ограничение...)

ограничения Internet Explorer...

максимальная длина URL IE8 является 2 083 символами , и это кажется , IE9 имеет подобный предел .

я протестировал IE10, и строка поиска только примет 2 083 символа. Вы можете нажимать a URL, который длиннее, чем это, но строка поиска все еще только покажет 2 083 символа этой ссылки.

существует хорошая рецензия на блоге Внутренностей IE, который входит в некоторые предпосылки к этому.

Там смешаны отчеты, IE11 поддерживает более длинные URL - см. комментарии ниже. Учитывая некоторых людей сообщают о проблемах, общие рекомендации все еще стоят.

Поисковые системы как URL < 2 048 символов...

знать, что эти протокол карт сайта, который позволяет сайту сообщать поисковым системам о доступных страницах, имеет предел 2 048 символов в URL. Если Вы намереваетесь использовать карты сайта, предел был решен для Вас! (см. ответ Calin-Andrei Burloiu ниже)

существует также некоторое исследование с 2010 максимальная длина URL, которую поисковые системы проверят и индекс . Они нашли, что предел был 2 047 символами, который кажется союзническим к спецификации протокола карты сайта. Однако они также нашли, что инструмент Google SERP не справится с URL дольше, чем 1 855 символов.

Дополнительная сводка новостей

браузера я протестировал следующее против сервера 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

См. также этот ответ от Matas Vaitkevicius ниже.

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

Это - популярный вопрос, и как исходному исследованию ~12 лет, я попытаюсь усовершенствовать его: С [1 148] сентябрь 2018 , все еще стоит совет. Даже при том, что IE11 может возможно принять более длинные URL, повсеместность более старых установок IE плюс ограничения поисковой системы, средние остаться под 2 000 символов, является лучшей общей политикой.

4695
ответ дан Community 19 September 2018 в 03:24
поделиться
  • 1
    Хорошо это отчасти - ответ на обе части вопроса: 1 Он не пропустил альтернативу, начиная с векторных соответствий. 2 Он может " adjust" один из стандартных контейнеров, не используя неправильные методы как emplace_back и т.д.;-) – Arne Mertz 16 February 2013 в 00:46

URI RFC (которых URL являются подмножеством) не определяет максимальную длину, однако, это делает , рекомендуют , что часть имени хоста URI (если применимо) не превышает 255 символов в длине:

производители URI должны использовать имена, которые соответствуют синтаксису DNS, даже когда использование DNS не сразу очевидно, и должно ограничить эти имена к не больше, чем 255 символам в длине.

, Как отмечено в других сообщениях, хотя, некоторые браузеры имеют практическое ограничение на длину URL.

68
ответ дан casperOne 19 September 2018 в 03:24
поделиться

ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ WWW: Какова максимальная длина URL? имеет его собственный ответ на основе эмпирического тестирования и исследования. Короткий ответ - то, что осмотр через 2 048 символов делает Internet  недовольный Проводник и таким образом это - предел, который необходимо использовать. Посмотрите страницу для длинного ответа.

153
ответ дан Peter Mortensen 19 September 2018 в 03:24
поделиться

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

URIs в HTTP может быть представлен в абсолютной форме или относительно некоторых
известный основной URI [11], в зависимости от контекста их использования. Два
формы дифференцируются тем, что абсолютные URIs всегда начинаются
с названием схемы, сопровождаемым двоеточием. Для категорической информации о
Синтаксис URL и семантика, см. "Универсальные идентификаторы ресурса (URI): Универсальный Синтаксис и Семантика", RFC 2396 [42] (который заменяет 1738 RFCs [4] и RFC 1808 [11]). Эта спецификация принимает определения "ссылки URI", "absoluteURI", "relativeURI", "порта",
"хост", "abs_path", "rel_path", и "полномочия" от этого
спецификация.

Протокол HTTP не устанавливает априорной границы длины
URI. Серверы ДОЛЖНЫ смочь обработать URI любого ресурса, которому они служат и ДОЛЖНЫ смочь обработать URIs неограниченной длины, если они обеспечивают, ДОБИРАЮТСЯ - базирующиеся формы, которые могли бы генерировать такой URIs.*
Сервер ДОЛЖЕН возвратить 414 состояний (Request-URI Too Long), если URI длиннее, чем сервер может обработать (см. раздел 10.4.15).

Примечание: Серверы должны быть осторожны относительно в зависимости от длин URI выше 255 байтов, потому что некоторый клиент старшего возраста или реализации прокси не могли бы правильно поддерживать эти длины.

Как упомянуто @Brian, у клиентов HTTP (например, браузеры) могут быть свои собственные пределы, и серверы HTTP будут иметь различные пределы.

54
ответ дан Greg 19 September 2018 в 03:24
поделиться

Согласно спецификации HTTP, нет никакого предела длине URL. Сохраните свои URL под 2 048 символами; это гарантирует работу URL во всех клиентах & конфигурации сервера. Кроме того, поисковые системы как URL, чтобы остаться приблизительно под 2 000 символов.

0
ответ дан Anoop Gupta 4 October 2019 в 06:58
поделиться

Служба поддержки Microsoft сообщает: «Максимальная длина URL-адреса в Internet Explorer составляет 2083 символа».

IE имеет проблемы с более длинными URL-адресами. Firefox, похоже, отлично работает с символами> 4k.

47
ответ дан 22 November 2019 в 19:37
поделиться

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

97
ответ дан 22 November 2019 в 19:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: