• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >编程技巧 > URL 长度有限制吗?

URL 长度有限制吗?

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-12

通过本文主要向大家介绍了url长度限制,url长度,url长度计算,不合法的按钮url长度,url长度是什么意思等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
原因是传说中GET方法是通过URL来传递,而URL的长度是受限的,而POST方法采用流的方式,理论上可以传递的容量是没有限制的。
现在来看这个描述:“URL的长度是受限的”,具体是在哪里受限制呢?browser端还是server端呢?网上现在google出来的结果都是说url的长度实际上是受到browser的限制,如IE限定url长度为2083字节,opera 是4050, Netscape 是8192,等等。据说HTTP协议本身对GET方法的长度没有限制。那么,如果不使用浏览器,而是从程序里发送HttpRequest的话,GET发送的长度就可以是无限的么?抱着这样的想法,进行了如下实验:

在client端,用Java实现,向server端发送HttpRequest,使用GET方法。

在server端,设计一个apache module,并将strlen(r->args),用ap_rprintf输出,作为response,返回到Java端。

通过不断增加GET方法传过去的字符串的长度,发现URL长度超过8208字节时,Java抛出IO Exception: Server returned HTTP response code: 414 for URL: .....

414 代表哪种错误呢?

414 - Request-URL Too Long (SEE: http://www.websitepulse.com/kb/4xx_HTTP_status_codes.html)

由此可见,Server端对于URL的长度是有限制的,那么对于GET方法可以传输的数据也是有限制的。只是这个限制可能根据服务器的处理能力而定,或者在哪里哪里配置,就不是很清楚了。(俺又开始瞎猜,这貌似不是什么好习惯的说)。

下面开始瞎掰:

其实这是可以理解的,URL长度不可能没有限制的,Http协议毕竟是UDP的,而一个UDP包毕竟是有大小限制的。那么POST为什么就能传递大批量数据呢?在apache module里面尝试了读取post数据之前,还真没有什么深刻的理解。只不过用一个“流”字打法之而已。实际上,POST数据解析的时候是分块来读取的,如果从UDP的角度来理解的话,就可是分成好多个UDP包传过来,一个一个读出来就好了。 </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • URL 长度有限制吗?

相关文章

  • 2017-05-12php/asp/asp.net中判断百度移动和PC蜘蛛的实现代码
  • 2017-05-12可能是最通俗的一篇介绍markdown的文章
  • 2017-05-122013年CIO需要知道的八句格言
  • 2017-05-12算法系列15天速成 第十天 栈
  • 2017-08-17各种编程语言的深度学习库整理
  • 2017-05-12windows 中 \r\n 区别于 类unix中的\n 疑问说明
  • 2017-05-12网站程序员如何应对web标准第1/2页
  • 2017-05-12Geohash的原理、算法和具体应用探究
  • 2017-05-12网站性能提高实战经验点滴记录
  • 2017-05-12深入理解浏览器的各种刷新规则

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 支付宝 接口开发帮助(asp,php,asp.net,jsp)
    • 分享几个新增备案不关站的代码
    • i++循环与i-–循环的执行效率(递增与递减效率)
    • windows 中 \r\n 区别于 类unix中的\n 疑问说明
    • json转String与String转json及判断对象类型示例代码
    • 电子邮件 退信原因大全
    • 手机中点击网页链接实现拨号或保存电话功能实现代码
    • gb2312的详细介绍
    • 网站分站的实现方法
    • 各种编程语言中$符号的意义

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有