FWIW, para usuários do Windows, caminhos de servidor com mais de 250 caracteres podem causar sofrimento ao criar URLs, por exemplo, consulte HttpContext.Current.Server.MapPath falha para nomes de arquivos longos em forums.asp.net . Conclusão: se uma restrição não lhe der, outra pode .
Posso perguntar por que você precisava saber disso? Ou seja, qual é o caso de uso para ter um URL longo?
o0 '.
17
@ Lohoris: se um formulário usar em getvez de post, os favoritos da página alcançada pelo formulário preenchido capturarão as informações inseridas. Em alguns casos, isso pode ser ruim, mas em outros casos, pode ser útil. Para que isso funcione, no entanto, o navegador deve ser capaz de lidar com um URL que contém todas as informações.
supercat
4
@ Lohoris Quando escrevemos páginas para gerar relatórios, usamos um formulário de critérios. Em alguns relatórios, é útil poder enviar o URL por email para alguém com os critérios incorporados. Dependendo do relatório, às vezes somos forçados a usar postou o critério é truncado. Apenas outro caso de uso.
buzzsawddog
Respostas:
4956
Resposta curta - limite de fato de 2000 caracteres
Se você mantiver os URLs com menos de 2.000 caracteres, eles funcionarão em praticamente qualquer combinação de software para cliente e servidor.
Se você estiver direcionando navegadores específicos, veja abaixo para obter mais detalhes sobre limites específicos.
Resposta mais longa - primeiro, os padrões ...
A seção 3.2.1 da RFC 2616 (Protocolo de transferência de hipertexto HTTP / 1.1) diz
O protocolo HTTP não coloca nenhum limite a priori no comprimento de um URI. Servidores devem ser capazes de lidar com o URI de qualquer recurso que eles servem, e devem ser capazes de lidar com URIs de comprimento ilimitado se fornecerem formulários baseados em GET que possam gerar tais URIs. Um servidor deve retornar o status 414 (Request-URI Too Long) se um URI for maior do que o servidor pode suportar (consulte a seção 10.4.15).
Esse RFC foi obsoleto pelo RFC7230, que é uma atualização da especificação HTTP / 1.1. Ele contém linguagem semelhante, mas também sugere isso:
Várias limitações ad hoc no comprimento da linha de solicitação são encontradas na prática. É RECOMENDADO que todos os remetentes e destinatários HTTP suportem, no mínimo, comprimentos de linha de solicitação de 8000 octetos.
... e a realidade
É o que dizem os padrões . Para a realidade , havia um artigo no boutell.com (link para o backup do Internet Archive) que discutia quais implementações individuais de navegadores e servidores suportariam. O sumário executivo é:
URLs extremamente longos geralmente são um erro. URLs com mais de 2.000 caracteres não funcionarão nos navegadores da web mais populares. Não os use se você pretende que seu site funcione para a maioria dos usuários da Internet.
(Nota: esta é uma citação de um artigo escrito em 2006 , mas em 2015 declínio meio de uso do IE que URLs mais longos fazer o trabalho para a maioria entanto, o IE ainda tem a limitação ....)
Testei o IE10 e a barra de endereço aceita apenas caracteres 2083. Você pode clicar em um URL que seja maior que isso, mas a barra de endereço ainda exibirá apenas 2083 caracteres desse link.
Existem relatórios mistos que o IE11 suporta URLs mais longos - veja os comentários abaixo. Dado que algumas pessoas relatam problemas, o conselho geral ainda permanece.
Mecanismos de pesquisa como URLs <2048 caracteres ...
Esteja ciente de que o protocolo de sitemaps , que permite que um site informe os mecanismos de pesquisa sobre as páginas disponíveis, tem um limite de 2048 caracteres em um URL. Se você pretende usar sitemaps, um limite foi decidido para você! (veja a resposta de Calin-Andrei Burloiu abaixo)
Há também algumas pesquisas de 2010 sobre o tamanho máximo de URL que os mecanismos de pesquisa rastrearão e indexarão . Eles descobriram que o limite era 2047 caracteres, que parece aliado às especificações do protocolo do sitemap. No entanto, eles também descobriram que a ferramenta SERP do Google não lidaria com URLs com mais de 1855 caracteres.
CDNs têm limites
As CDNs também impõem limites no comprimento do URI e retornam a 414 Too long requestquando esses limites forem atingidos, por exemplo:
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
Veja também esta resposta de Matas Vaitkevicius abaixo.
Essas informações estão atualizadas?
Essa é uma pergunta popular e, como a pesquisa original tem aproximadamente 12 anos, tentarei mantê-la atualizada: a partir de janeiro de 2020 , o conselho ainda permanece. Embora o IE11 possa aceitar URLs mais longos, a onipresença das instalações mais antigas do IE, além das limitações do mecanismo de pesquisa, significa que ficar abaixo de 2000 caracteres é a melhor política geral.
Hoje, o IE11 corta minha URL para 2048 caracteres.
AntiCZ
2
Pergunta original: "Qual é o tamanho máximo de uma URL em diferentes navegadores ". Isso não responde à pergunta, apenas dá para o IE. As pessoas criam sites para diferentes fins, por exemplo, ferramentas internas que NUNCA serão acessadas pelo IE.
Skeets
13
no Chrome em 2016, consegui abrir um URL com 260300 ascii chars usando o comando osx open a partir de um script simples e confirmar que todos os caracteres foram passados para o servidor. O URL no browser fica truncado para 32791 caracteres, concludinding com ... (% E2% 80% A6% E2% 80% A6)
Rob Dawson
22
@Paul Dixon É muito bom ver pessoas dispostas a ir além e responder perguntas neste site. Obviamente, as pessoas estão demonstrando sua gratidão pelo número atual de votos para 3734, mas eu queria agradecer! :)
Ele está falando sobre o fato de que um jpeg codificado em base64 é tecnicamente uma URL, porque é especificado como data: *. Embora ele esteja correto ao afirmar que é um URL válido, não acho que seja isso que a pergunta estava sendo feita.
precisa saber é o seguinte
54
... ou cole-o na sua barra de endereço.
Gras Double
108
Esse é um URI, não um URL.
Mike Jones
65
Como uma URL de dados contém o protocolo "data:" e o identificador, é tudo o que você precisa para LOCALIZAR esse "arquivo" (mesmo que o "Sistema de Arquivos" seja o espaço de todos os arquivos possíveis). Portanto, é uma URL, que também é um URI. (Mas definitivamente não é "não um URL")
MickLH
5
Não @DoubleGras Google Chrome para Mac não me permite colar uma URL que por muito tempo na minha barra de endereços
Max Nanasy
157
WWW FAQs: Qual é o tamanho máximo de um URL? tem sua própria resposta baseada em testes e pesquisas empíricas. A resposta curta é que ultrapassar 2048 caracteres deixa o Internet Explorer infeliz e, portanto, esse é o limite que você deve usar. Veja a página para uma resposta longa.
<scriptsrc="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script><scripttype="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>
PARTE 1
No Chrome, obtive:
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36
2046
Em seguida, explodiu com:
Erro HTTP 404.15 - Não encontrado O módulo de filtragem de solicitação está configurado para negar uma solicitação em que a string de consulta é muito longa.
o que não ajudou em nada. Finalmente decidi usar o violinista para remover o referenciador do cabeçalho.
static function OnBeforeRequest(oSession: Session) {
if (oSession.url.Contains("localhost:50766")) {
oSession.RequestHeaders.Remove("Referer");
}
O que foi bom.
Chrome: possui 15613 caracteres. (Eu acho que é um limite de 16K para o IIS)
E falhou novamente com:
<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
Raposa de fogo:
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0
15708
O Internet Explorer 8 falhou com a falha do iexplore.exe.
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
Então, com efeito, minha suposição de 512 caracteres está muito errada ^ _ ^ Obrigado pelo teste. Eu nunca se preocupam com o comprimento de consulta param mais ..
Gogol
17
Essa deve ser a resposta aceita ... a primeira não fornece limites rígidos para cada navegador, é o que as perguntas pedem.
precisa saber é o seguinte
1
Pode valer a pena procurar no Safari também. O Safari é o único navegador que não suporta downloads gerados por clientes. As soluções alternativas são: a) abra um URI BLOB (um URI curto e temporário que aponte para um Blob na memória) em uma nova janela; b) abra um URI de dados codificados na base 64 em uma nova janela (pode ser muito longo, mas suporta digitação MIME). Detalhes aqui: github.com/eligrey/FileSaver.js/issues/12
Mat Gessel
@Vaitkevicius você sabe se um espaço (% 20) é contado como um caractere ou 3?
Jun711 28/05
1
@Jun depende de onde ... pressione F12 e pasta seguinte na consola console.log("%20".length +" "+decodeURI("%20").length)isso deve explicá-lo
Matas Vaitkevicius
96
Realmente não existe um comprimento máximo universal de URL. O comprimento máximo é determinado apenas pelo que o navegador do cliente escolhe suportar, o que varia amplamente. O limite de 2.083 está presente apenas no Internet Explorer (todas as versões até 7.0). O tamanho máximo no Firefox e Safari parece ilimitado, embora ocorra instabilidade com URLs que atingem cerca de 65.000 caracteres. O Opera parece não ter um tamanho máximo de URL e não sofre instabilidade em comprimentos extremamente longos.
Se a instabilidade for de cerca de 65k, provavelmente ela estará ali perto de 65535 (2 ^ 16 - 1). Talvez eles façam loop através de caracteres usando i curto? Apenas um pensamento. Gostaria de saber qual URL eles testaram para 65k + o_o ;;
Garet Claborn 18/03/11
5
Talvez essa resposta seja a que deve ser aceita, pois fornece respostas concretas: 2k para o IE, 65k para o Safari / Firefox, "mais" para o Opera.
eis
Estou curioso. O URL de 65k é um URI de esquema de dados ou realmente um URL no sentido clássico?
SaAtomic 14/09/17
81
Nas plataformas Apple (iOS / macOS / tvOS / watchOS), o limite pode ser um esquema de URL de 2 GB de comprimento, conforme observado por este comentário no código-fonte do 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/CFURLif((urlStringLength >0)&&(urlStringLength <= INT_MAX)){...
No iOS, testei e confirmei que mesmo um URL com mais de 300 MB é aceito. Você pode tentar um URL tão longo como este em Objective-C:
Você senhor merece um +1 apenas para o esforço de tentar um 300MB URL
Дамян Станчев
3
O iOS não é um navegador por si só. Isso estava no Safari para iOS?
Randall
6
Os esquemas @Randall são gerenciados pelo sistema operacional e depois enviados para o aplicativo que pode abri-los. Portanto, todos os aplicativos no iOS, incluindo o Safari, podem lidar com URIs longos.
Cœur
1
Obrigado pelo esclarecimento. Presumivelmente, porém, isso não impede que um aplicativo arbitrário (por exemplo, um navegador alimentado por Tor) introduza sua própria restrição de comprimento, correto?
Randall
1
@ Randall correto, mas por que alguém faria isso ...
Xander
70
O RFC do URI (dos quais URLs são um subconjunto) não define um tamanho máximo; no entanto, recomenda que a parte do nome do host do URI (se aplicável) não exceda 255 caracteres:
Os produtores de URI devem usar nomes que estejam em conformidade com a sintaxe do DNS, mesmo quando o uso do DNS não for imediatamente aparente, e devem limitar esses nomes a não mais que 255 caracteres.
Conforme observado em outros posts, alguns navegadores têm uma limitação prática no tamanho de uma URL.
URIs em HTTP podem ser representados em forma absoluta ou relativa a algum
URI de base conhecido [11], dependendo do contexto de seu uso. As duas
formas são diferenciadas pelo fato de que URIs absolutos sempre começam
com um nome de esquema seguido por dois pontos. Para obter informações definitivas sobre
sintaxe e semântica da URL, consulte "Identificadores uniformes de recursos (URI): sintaxe e semântica genéricas", RFC 2396 [42] (que substitui as RFCs 1738 [4] e RFC 1808 [11]). Essa especificação adota as definições de "referência de URI", "absoluteURI", "relativeURI", "porta",
"host", "abs_path", "rel_path" e "autoridade" dessa
especificação.
O protocolo HTTP não coloca nenhum limite a priori no comprimento de
um URI. Servidores devem ser capazes de lidar com o URI de qualquer recurso que servem, e devem ser capazes de lidar com URIs de comprimento ilimitado, se fornecerem formulários baseados em GET que possam gerar tais URIs. * Um servidor deve retornar 414 (Request-URI Too Long) status se um URI for maior do que o servidor pode suportar (consulte a seção 10.4.15).
Nota: Os servidores devem ter cuidado com a dependência dos comprimentos de URI acima de 255 bytes, porque algumas implementações de cliente ou proxy mais antigas podem não suportar adequadamente esses comprimentos.
Conforme mencionado por @Brian, os clientes HTTP (por exemplo, navegadores) podem ter seus próprios limites e os servidores HTTP terão limites diferentes.
a interface social da Web depende do email quando os usuários desejam recomendar páginas da Web, e o email é a segunda maneira mais comum de os usuários acessarem novos sites (os mecanismos de pesquisa são os mais comuns): verifique se todos os URLs do seu site o site possui menos de 78 caracteres, para que não sejam agrupados em um feed de linha.
Esse não é o máximo, mas considero um máximo prático se você deseja que seu URL seja compartilhado.
Gostaria de saber de onde vem "78"? Talvez o artigo original de 1999 tenha sido escrito sob a premissa de que as pessoas estão lendo seus e-mails nas janelas dos terminais 80x24? Ainda assim, um bom conselho!
Jon Schneider
3
Bem. Os cartões perfurados da IBM também possuíam 80 colunas. Com dois personagens ocupado por um retorno de carro e alimentar uma linha você começa 78.
Paul Morgan
1
Haha :-) Eu estava pensando em fazer referência a monitores CGA 80x25 da época de 1981 no meu comentário, mas você chegou ainda mais longe! ... Eu não estava presente na era do cartão perfurado, mas eles tinham 80 bytes de largura ou apenas 80 bits?
Jon Schneider
1
Não é exatamente um byte (8 bits). Codificou um caractere em cada coluna.
Paul Morgan
3
O @JonSchneider - 78 é bastante específico e pode estar relacionado à legibilidade do texto (do ponto de vista da usabilidade, considerando o histórico da Nielsen), que é melhor entre 50-60 e no máximo 75 .
Jay Rainey
36
O protocolo Sitemaps , que é uma maneira dos webmasters informarem os mecanismos de pesquisa sobre as páginas de seus sites (também usadas pelo Google nas Ferramentas do Google para webmasters), suporta URLs com menos de 2048 caracteres. Portanto, se você planeja usar esse recurso para a Otimização de mecanismos de pesquisa, leve isso em consideração.
Isto é um pouco confuso. Os protocolos de sitemap "oferecem suporte a URLs com menos de 2048 caracteres". Imaginei que um site como o example.com funcionaria. Eu acho que essa pergunta é mais sobre o máximo?
HoldOffHunger
19
O ASP.NET 2 e o SQL Server Reporting Services 2005 têm um limite de 2028. Descobri isso da maneira mais difícil, onde meu gerador de URL dinâmico não passaria alguns parâmetros para um relatório além desse ponto. Isso estava no Internet Explorer 8.
A variação entre o Internet Explorer e o IIS faz sentido quando você considera que nem todas as solicitações para um servidor Web são feitas por meio de um navegador.
precisa saber é o seguinte
15
A diretiva de linha de solicitação de limite define o tamanho máximo de uma URL. Por padrão, é definido como 8190, o que oferece muito espaço. No entanto, outros servidores e algumas navegações limitam mais o comprimento.
Como todos os parâmetros são passados na linha da URL, os itens que estavam na senha dos campos ocultos também serão exibidos na URL, é claro. Nenhum dispositivo móvel deve ser usado para medidas reais de segurança e deve ser considerado, na melhor das hipóteses, segurança cosmética.
Tenho experiência com o SharePoint 2007, 2010 e há um limite de URL de comprimento que você pode criar no lado do servidor. Nesse caso, o SharePoint; portanto, depende principalmente de: 1) o cliente (navegador, versão e SO) e 2) a tecnologia do servidor, IIS, Apache, etc.
Como o SharePoint expõe URLs da Web como caminhos de arquivo, ele possui uma limitação separada: o limite de comprimento de caminho de arquivo do Windows de 260 caracteres (ou 248 caracteres ao usar uma API). Para obter mais detalhes sobre esse limite, consulte a seção "Limite máximo de tamanho do caminho" aqui: msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx
Thriggle
10
Parece que o Chrome pelo menos aumentou esse limite. Eu colei 20.000 caracteres no bookmarklet e foi preciso.
De acordo com a especificação HTTP, não há limite para o tamanho de uma URL. Mantenha seus URLs com menos de 2048 caracteres; isso garantirá que os URLs funcionem em todas as configurações de clientes e servidores. Além disso, os mecanismos de pesquisa, como URLs, permanecem com aproximadamente 2000 caracteres.
get
vez depost
, os favoritos da página alcançada pelo formulário preenchido capturarão as informações inseridas. Em alguns casos, isso pode ser ruim, mas em outros casos, pode ser útil. Para que isso funcione, no entanto, o navegador deve ser capaz de lidar com um URL que contém todas as informações.post
ou o critério é truncado. Apenas outro caso de uso.Respostas:
Resposta curta - limite de fato de 2000 caracteres
Se você mantiver os URLs com menos de 2.000 caracteres, eles funcionarão em praticamente qualquer combinação de software para cliente e servidor.
Se você estiver direcionando navegadores específicos, veja abaixo para obter mais detalhes sobre limites específicos.
Resposta mais longa - primeiro, os padrões ...
A seção 3.2.1 da RFC 2616 (Protocolo de transferência de hipertexto HTTP / 1.1) diz
Esse RFC foi obsoleto pelo RFC7230, que é uma atualização da especificação HTTP / 1.1. Ele contém linguagem semelhante, mas também sugere isso:
... e a realidade
É o que dizem os padrões . Para a realidade , havia um artigo no boutell.com (link para o backup do Internet Archive) que discutia quais implementações individuais de navegadores e servidores suportariam. O sumário executivo é:
(Nota: esta é uma citação de um artigo escrito em 2006 , mas em 2015 declínio meio de uso do IE que URLs mais longos fazer o trabalho para a maioria entanto, o IE ainda tem a limitação ....)
Limitações do Internet Explorer ...
O tamanho máximo do URL do IE8 é 2083 caracteres , e parece que o IE9 tem um limite semelhante .
Testei o IE10 e a barra de endereço aceita apenas caracteres 2083. Você pode clicar em um URL que seja maior que isso, mas a barra de endereço ainda exibirá apenas 2083 caracteres desse link.
Há uma boa redação no blog do IE Internals, que aborda alguns dos antecedentes disso.
Existem relatórios mistos que o IE11 suporta URLs mais longos - veja os comentários abaixo. Dado que algumas pessoas relatam problemas, o conselho geral ainda permanece.
Mecanismos de pesquisa como URLs <2048 caracteres ...
Esteja ciente de que o protocolo de sitemaps , que permite que um site informe os mecanismos de pesquisa sobre as páginas disponíveis, tem um limite de 2048 caracteres em um URL. Se você pretende usar sitemaps, um limite foi decidido para você! (veja a resposta de Calin-Andrei Burloiu abaixo)
Há também algumas pesquisas de 2010 sobre o tamanho máximo de URL que os mecanismos de pesquisa rastrearão e indexarão . Eles descobriram que o limite era 2047 caracteres, que parece aliado às especificações do protocolo do sitemap. No entanto, eles também descobriram que a ferramenta SERP do Google não lidaria com URLs com mais de 1855 caracteres.
CDNs têm limites
As CDNs também impõem limites no comprimento do URI e retornam a
414 Too long request
quando esses limites forem atingidos, por exemplo:(agradecemos a timrs2998 por fornecer essas informações nos comentários)
Resumo adicional do navegador
Testei o seguinte em um servidor Apache 2.4 configurado com um LimitRequestLine e LimitRequestFieldSize muito grandes .
Veja também esta resposta de Matas Vaitkevicius abaixo.
Essas informações estão atualizadas?
Essa é uma pergunta popular e, como a pesquisa original tem aproximadamente 12 anos, tentarei mantê-la atualizada: a partir de janeiro de 2020 , o conselho ainda permanece. Embora o IE11 possa aceitar URLs mais longos, a onipresença das instalações mais antigas do IE, além das limitações do mecanismo de pesquisa, significa que ficar abaixo de 2000 caracteres é a melhor política geral.
fonte
Os URLs mais longos que encontrei são URLs de dados
URL de imagem de exemplo dos resultados de imagem do Google (11747 caracteres)
fonte
WWW FAQs: Qual é o tamanho máximo de um URL? tem sua própria resposta baseada em testes e pesquisas empíricas. A resposta curta é que ultrapassar 2048 caracteres deixa o Internet Explorer infeliz e, portanto, esse é o limite que você deve usar. Veja a página para uma resposta longa.
fonte
Eu escrevi este teste que continua adicionando
'a'
ao parâmetro até o navegador falharParte do C #:
Visão:
PARTE 1
No Chrome, obtive:
Em seguida, explodiu com:
O mesmo no Internet Explorer 8 e Firefox
PARTE 2
Entrei no modo fácil e adicionei limites adicionais ao IISExpress
applicationhost.config
eweb.config
configuraçãomaxQueryStringLength="32768"
.após 7744 caracteres.
PARTE 3
Adicionado
o que não ajudou em nada. Finalmente decidi usar o violinista para remover o referenciador do cabeçalho.
O que foi bom.
Chrome: possui 15613 caracteres. (Eu acho que é um limite de 16K para o IIS)
E falhou novamente com:
Raposa de fogo:
O Internet Explorer 8 falhou com a falha do iexplore.exe.
Após 2505
Emulador Android
Internet Explorer 11
Internet Explorer 10
Internet Explorer 9
fonte
console.log("%20".length +" "+decodeURI("%20").length)
isso deve explicá-loRealmente não existe um comprimento máximo universal de URL. O comprimento máximo é determinado apenas pelo que o navegador do cliente escolhe suportar, o que varia amplamente. O limite de 2.083 está presente apenas no Internet Explorer (todas as versões até 7.0). O tamanho máximo no Firefox e Safari parece ilimitado, embora ocorra instabilidade com URLs que atingem cerca de 65.000 caracteres. O Opera parece não ter um tamanho máximo de URL e não sofre instabilidade em comprimentos extremamente longos.
fonte
Nas plataformas Apple (iOS / macOS / tvOS / watchOS), o limite pode ser um esquema de URL de 2 GB de comprimento, conforme observado por este comentário no código-fonte do Swift :
No iOS, testei e confirmei que mesmo um URL com mais de 300 MB é aceito. Você pode tentar um URL tão longo como este em Objective-C:
E pegue se tiver sucesso com:
fonte
O RFC do URI (dos quais URLs são um subconjunto) não define um tamanho máximo; no entanto, recomenda que a parte do nome do host do URI (se aplicável) não exceda 255 caracteres:
Conforme observado em outros posts, alguns navegadores têm uma limitação prática no tamanho de uma URL.
fonte
A especificação HTTP 1.1 diz:
Conforme mencionado por @Brian, os clientes HTTP (por exemplo, navegadores) podem ter seus próprios limites e os servidores HTTP terão limites diferentes.
fonte
O Suporte da Microsoft diz "O tamanho máximo da URL é 2.083 caracteres no Internet Explorer".
O IE tem problemas com URLs maiores que isso. O Firefox parece funcionar bem com> 4k caracteres.
fonte
Na URL como UI Jakob Nielsen recomenda:
Esse não é o máximo, mas considero um máximo prático se você deseja que seu URL seja compartilhado.
fonte
O protocolo Sitemaps , que é uma maneira dos webmasters informarem os mecanismos de pesquisa sobre as páginas de seus sites (também usadas pelo Google nas Ferramentas do Google para webmasters), suporta URLs com menos de 2048 caracteres. Portanto, se você planeja usar esse recurso para a Otimização de mecanismos de pesquisa, leve isso em consideração.
fonte
O ASP.NET 2 e o SQL Server Reporting Services 2005 têm um limite de 2028. Descobri isso da maneira mais difícil, onde meu gerador de URL dinâmico não passaria alguns parâmetros para um relatório além desse ponto. Isso estava no Internet Explorer 8.
fonte
Por que o Internet Explorer limita apenas 2K enquanto o IIS tem um limite de 16K? Eu não acho que faz sentido.
Então, quero iniciar um experimento sobre os limites de tamanho do URL de solicitação do Ajax.
Eu configurei o maxHttpHeaderSize = "1048576" do meu conector HTTP do Tomcat. E preparou um URL muito longo.
Em seguida, envio uma solicitação com o URL longo, como o seguinte:
relatórios jQuery feitos. O Tomcat relata que o URL solicitado é 1048015 bytes. Foi testado com o Chrome 50 e o Internet Explorer 11.
Portanto, os navegadores da web não truncarão ou limitarão seu URL intencionalmente ao enviar solicitações do Ajax.
fonte
A diretiva de linha de solicitação de limite define o tamanho máximo de uma URL. Por padrão, é definido como 8190, o que oferece muito espaço. No entanto, outros servidores e algumas navegações limitam mais o comprimento.
Como todos os parâmetros são passados na linha da URL, os itens que estavam na senha dos campos ocultos também serão exibidos na URL, é claro. Nenhum dispositivo móvel deve ser usado para medidas reais de segurança e deve ser considerado, na melhor das hipóteses, segurança cosmética.
fonte
Tenho experiência com o SharePoint 2007, 2010 e há um limite de URL de comprimento que você pode criar no lado do servidor. Nesse caso, o SharePoint; portanto, depende principalmente de: 1) o cliente (navegador, versão e SO) e 2) a tecnologia do servidor, IIS, Apache, etc.
fonte
Parece que o Chrome pelo menos aumentou esse limite. Eu colei 20.000 caracteres no bookmarklet e foi preciso.
fonte
De acordo com a especificação HTTP, não há limite para o tamanho de uma URL. Mantenha seus URLs com menos de 2048 caracteres; isso garantirá que os URLs funcionem em todas as configurações de clientes e servidores. Além disso, os mecanismos de pesquisa, como URLs, permanecem com aproximadamente 2000 caracteres.
fonte