https://stackoverflow.com/questions/417142/what-is-the-maximum-length-of-a-url-in-different-browsers

Short answer - de facto limit of 2000 characters

If you keep URLs under 2000 characters, they'll work in virtually any combination of client and server software.

If you are targeting particular browsers, see below for more details specific limits.

Longer answer - first, the standards...

RFC 2616 (Hypertext Transfer Protocol HTTP/1.1) section 3.2.1 says

The HTTP protocol does not place any a priori limit on the length of a URI. Servers MUST be able to handle the URI of any resource they serve, and SHOULD be able to handle URIs of unbounded length if they provide GET-based forms that could generate such URIs. A server SHOULD return 414 (Request-URI Too Long) status if a URI is longer than the server can handle (see section 10.4.15).

That RFC has been obsoleted by RFC7230 which is a refresh of the HTTP/1.1 specification. It contains similar language, but also goes on to suggest this:

Various ad hoc limitations on request-line length are found in practice. It is RECOMMENDED that all HTTP senders and recipients support, at a minimum, request-line lengths of 8000 octets.

...and the reality

That's what the standards say. For the reality, see this research over at boutell.com to see what individual browser and server implementations will support. It's worth a read, but the executive summary is:

Extremely long URLs are usually a mistake. URLs over 2,000 characters will not work in the most popular web browsers. Don't use them if you intend your site to work for the majority of Internet users.

(Note: this is a quote from an article written in 2006, but in 2015 IE's declining usage means that longer URLs do work for the majority. However, IE still has the limitation...)

Internet Explorer's limitations...

IE8's maximum URL length is 2083 chars, and it seems IE9 has a similar limit.

I've tested IE10 and the address bar will only accept 2083 chars. You can click a URL which is longer than this, but the address bar will still only show 2083 characters of this link.

There's a nice writeup on the IE Internals blog which goes into some of the background to this.

There are mixed reports IE11 supports longer URLS - see comments below. Given some people report issues, the general advice still stands.

Search engines like URLs < 2048 chars...

Be aware that the sitemaps protocol, which allows a site to inform search engines about available pages, has a limit of 2048 characters in a URL. If you intend to use sitemaps, a limit has been decided for you! (see Calin-Andrei Burloiu's answer below)

There's also some research from 2010 into the maximum URL length that search engines will crawl and index. They found the limit was 2047 chars, which appears allied to the sitemap protocol spec. However, they also found the Google SERP tool wouldn't cope with URLs longer than 1855 chars.

Additional browser roundup

I tested the following against an Apache 2.4 server configured with a very large LimitRequestLine and LimitRequestFieldSize.

Browser     Address bar   document.location
or anchor tag
------------------------------------------
Chrome 32779 >64k
Android 8192 >64k
Firefox >64k >64k
Safari >64k >64k

See also this answer from Matas Vaitkevicius below.

Is this information up to date?

This is a popular question, and as the original research is ~9 years old I'll try to keep it up to date: As of Nov 2016, the advice still stands. Even though IE11 may possibly accept longer URLs, the ubiquity of older IE installations plus the search engine limitations mean staying under 2000 chars is the best general policy.

最新文章

  1. jQuery修改class属性和CSS样式
  2. Android WebView useragent
  3. 手写一个更好用的performSelector/msgSend(详细修改版)
  4. javascript优化--05模式(函数)
  5. Table Properties [AX 2012]
  6. UITextField使用的相关方法
  7. Swift学习笔记(一)搭配环境以及代码执行成功
  8. mysql修改字符集 转载
  9. SRM 500(2-1000pt)
  10. DELPHI 解决DBGrid SHIFT键多选问题
  11. FZU软工第六次作业-团队选题报告
  12. CPS(Cyber-Physical Systems)白皮书-摘选
  13. FORM中使用onSubmit=&quot;return false&quot;防止表单自动提交,以及submit和button提交表单的区别
  14. 洛咕 P3756 [CQOI2017]老C的方块
  15. 收藏:Win32消息机制
  16. axios笔记
  17. 关于python的【if __name__ == &quot;__main__&quot;:】
  18. HDU 4004 二分
  19. Codeforces Round #222 (Div. 1) 博弈 + dp
  20. 自学Java测试代码一数据类型、数组使用

热门文章

  1. 八十四、SAP中的ALV创建之三,创建ALV表格
  2. 040-PHP使用闭包函数来进行父实例的变量自增,正确示例
  3. 038-PHP向返回的闭包函数实例中,传递外部变量参数
  4. Apache服务器多站点配置
  5. C#获取刚插入的数据的id
  6. 为什么vue中的data用return返回
  7. windows LARGE_INTEGER 错误码输出格式
  8. yarn storm spark
  9. 关于boostrap的TAB切换 ,如何获取?
  10. eclipse上部署到tomcat不能自动部署maven管理的额jar包