`

http协议中,url最大长度是多少?

阅读更多

相信很我朋友都有这个疑问,或者当有人问起时,可能会临时的去网站搜索一下,答案就多了,我搜到的答案就有好几个,1024个字符啊、4096个字符啊,反正什么样的结果都有,那么究竟url的最大长度是多少呢?今天下午为了解决这个疑问,查了一些资料,并做了一些测试,基本上可能得出结论。

在http协议中,其实并没有对url长度作出限制,往往url的最大长度和用户浏览器和Web服务器有关,不一样的浏览器,能接受的最大长度往往是不一样的,当然,不一样的Web服务器能够处理的最大长度的URL的能力也是不一样的。

下面就是对各种浏览器和服务器的最大处理能力做一些说明.

Microsoft Internet Explorer (Browser)
IE浏览器对URL的最大限制为2083个字符,如果超过这个数字,提交按钮没有任何反应。在我的测试中,这个数字得到验证。

Firefox (Browser)

对于Firefox浏览器URL的长度限制为65,536个字符,但当我测试时,最大只能处理8182个字符,这是因为url的长度除了浏览器限制外,还会受Web服务器的限制,而我本机使用的是ubuntu apache服务器,最大处理能力为8192个字符(相差10个字符,不知道是什么原因),一旦超过这个长度,服务器就返回如下错误信息。

写道
Bad Request

Your browser sent a request that this server could not understand.
Size of a request header field exceeds server limit.

 

Safari (Browser)
URL最大长度限制为 80,000个字符。

Opera (Browser)
URL最大长度限制为190,000个字符。

Google (chrome)
url长度一旦超过8182个字符时,出现如下服务器错误:

写道
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长度为8,192个字符,但我的测试数据是8,182,10个字符,差别不在,数据具体符合。

Microsoft Internet Information Server(IIS)
能接受最大url的长度为16,384个字符。

通过上面的数据可知,为了让所有的用户都能正常浏览,我们的URL最好不要超过IE的最大长度限制(2038个字符),当然,如果URL不直接提供给用户,而是提供给程序调用,侧这时的长度就只受Web服务器影响了。

注:可能有些朋友会想当然的认为,如果最大长度限制为2038字符,是不是参数差不多可以传递1000个左右的汉字。这样认为其实是不对的,对于中文的传递,最终会为urlencode后的编码形式进行传递,如果浏览器的编码为UTF8的话,一个汉字最终编码后的字符长度为9个字符。

分享到:
评论

相关推荐

    slugify-url:将 url 映射到可用作文件名的简化字符串

    将 url 转换为简化字符串 概要 slugify-url 将 url 映射到一个经过清理... 最大长度默认 100 跳过协议默认为真 skipuserpass 默认为真 例如 => => 或者如果 unixOnly 是真的 => => 安装 npm install slugify-url

    Web应用安全:HTTP方法.pptx

    HTTP/1.1协议中共定义了八种方法(有时也叫“动作”),来表明Request-URL指定的资源不同的操作方式 HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。 HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE...

    正则表达式经典实例

    7.8 从URL中提取通信协议方案 7.9 从URL中抽取用户名 7.10 从URL中抽取主机名 7.11 从URL中抽取端口号 7.12 从URL中抽取路径 7.13 从URL中抽取查询 7.14 从URL中抽取片段 7.15 域名合法性验证 7.16 匹配IPv4...

    net学习笔记及其他代码应用

    答:string str = null 是不给他分配内存空间,而string str = \"\" 给它分配长度为空字符串的内存空间。 25.请详述在dotnet中类(class)与结构(struct)的异同? 答:Class可以被实例化,属于引用类型,是分配在内存的...

    计算机基础.docx

    A.8 B .15 C .32 D .128 10、一台 PC机中允许安装的内存最大容量是由主板上的()决定的。 A . CPU B . BIOS 中的自检程序 C . CMOS中保存的内存参数 D . 芯片组 11、下列网络协议中,不用于收发电子邮件的...

    正则表达式经典实例.pdf

    7.8 从URL中提取通信协议方案 7.9 从URL中抽取用户名 7.10 从URL中抽取主机名 7.11 从URL中抽取端口号 7.12 从URL中抽取路径 7.13 从URL中抽取查询 7.14 从URL中抽取片段 7.15 域名合法性验证 7.16 匹配IPv4地址 ...

    C++网络爬虫项目

    服务器统一资源定位符和超文本传输协议包头、包体及长度的简单封装。 2.3. 流程控制 2.3.1. 域名解析线程(DnsThread) 从原始统一资源定位符队列中弹出RawUrl对象,借助域名解析系统(DNS)获 取服务器的IP地址,构造...

    计算机网络技术20秋在线作业2-0003.docx

    A:双绞线 B:无线信道 C:同轴电缆 D:光纤 答案:D 网卡将决定组网后的拓扑结构、 ()、网络段的最大长度、网络结点之间的距离以及访问控制方式介质。 A:互联网络的规模 B:接入网络的计算机类型 C:使用的网络操作系统 ...

    RouterOS2.9.6.with.crack及配置动画

    对源MAC、IP地址、端口、IP协议、协议(ICMP、TCP、MSS等)、接口、对内部的数据包和连接作标记、ToS 字节、内容过滤、顺序优先与数据频繁和时间控制、包长度控制... l 路由 – 静态路由;多线路平衡路由;基于策略...

    java 面试题 总结

    forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。 redirect...

    超级有影响力霸气的Java面试题大全文档

     forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。...

    html入门到放弃笔记

    2、URL 在 WEB 中的表现形式 共三种表现形式: 1、绝对路径 特点:从文件所在的最高级目录处开始查找资源文件所经过的路径,就是绝对路径 使用场合:当想访问互联网上的资源时,只能用绝对路径 完整的绝对路径...

    jsp内置对象的用法

    11 URL getResource(String path) 返回指定资源(文件及目录)的URL路径 12 InputStream getResourceAsStream(String path) 返回指定资源的输入流 13 RequestDispatcher getRequestDispatcher(String uripath) ...

    Java范例开发大全 (源程序)

     实例149 简单的长度单位转换类 227  实例150 卡车和卡车司机之间的关系 229  实例151 双色球 231  8.2 成员变量和方法 236  实例152 使用类作为成员变量 236  实例153 构造方法 237  实例154 使用静态...

    java范例开发大全(pdf&源码)

    实例149 简单的长度单位转换类 227 实例150 卡车和卡车司机之间的关系 229 实例151 双色球 231 8.2 成员变量和方法 236 实例152 使用类作为成员变量 236 实例153 构造方法 237 实例154 使用静态成员变量计算内存中...

    java范例开发大全源代码

     实例149 简单的长度单位转换类 227  实例150 卡车和卡车司机之间的关系 229  实例151 双色球 231  8.2 成员变量和方法 236  实例152 使用类作为成员变量 236  实例153 构造方法 237  实例154 ...

    java范例开发大全

    实例149 简单的长度单位转换类 227 实例150 卡车和卡车司机之间的关系 229 实例151 双色球 231 8.2 成员变量和方法 236 实例152 使用类作为成员变量 236 实例153 构造方法 237 实例154 使用静态成员变量计算内存中...

    vc++ 开发实例源码包

    请求的长度在第一个INT中指定. 2) 每个服务器通常会向多种客户提供服务, 例如, TS要同时向CP, NP提供服务, CP要向NP和其他CP提供服务, 同时还是其他CP, TS, SP的客户. 3) 每个服务器为客户服务时, 通常是长期的, 会...

    《浩海网络多格式播放器》V3.9.4.4

    8,改进了播放列表下拉菜单的长度有时因添加内容名称过长导致名称的遮挡现象,这次播放列表可以根据添加内容的名称自动伸缩长度,但有最大值的限制,不是无限变长!9,彻底的修正了由于Realone的插件不稳定性,导致...

    《浩海网络多格式播放器》V3.9.4.5

    8,改进了播放列表下拉菜单的长度有时因添加内容名称过长导致名称的遮挡现象,这次播放列表可以根据添加内容的名称自动伸缩长度,但有最大值的限制,不是无限变长!9,彻底的修正了由于Realone的插件不稳定性,导致...

Global site tag (gtag.js) - Google Analytics