之前知道get请求对url请求长度有限制,post请求没有限制。今天在做程序的时候遇到了这个问题。

场景:我需要将前端生成的Svg图片转化base64生成字符串传入后台,后台根据字符串解码生成到PPT里面。

附:前端将svg生成图片的工具:saveSvgAsPng.js第三方js。https://github.com/exupero/saveSvgAsPng,后端将数据图片生成PPT使用的是POI。

参数传递方式

前端将svg生成base64字符串,然后以form的post方式提交,并且将每个svg的base64字符串生成一个hidden的input。

完成了开发本地测试没问题。发到测试环境用户测试时,发现下载PPT下不下来。浏览器提示如下:

本地调试发现在用httprequest拿参数时,为空。

连忙去点击其他下载看看,结果都能下载下来,ok。百思不得其解,于是去看了看这个request的图片的数量,发现一共有62个,想了想会不会是post传输数据的限制,于是我修改数据减少图片的数量,当减少到45个的时候,PPT下载下来了。这么看来确实是psot请求限制的问题。

查了相关资料,关于http get和post,本身http协议是没有限制其传输数据的大小的,主要在于浏览器与后台server的限制。

get请求参数限制

下面get请求浏览器最大处理能力说明.

Microsoft Internet Explorer (Browser)

IE浏览器对URL的最大限制为2083个字符,如果超过这个数字,提交按钮没有任何反应。
Firefox (Browser)

对于Firefox浏览器URL的长度限制为65,536个字符。

Safari (Browser)

URL最大长度限制为 80,000个字符。

Opera (Browser)

URL最大长度限制为190,000个字符。

Google (chrome)

URL最大长度限制为8182个字符。

Apache (Server)

能接受最大url长度为8,192个字符。

Microsoft Internet Information Server(IIS)

能接受最大url的长度为16,384个字符。

post请求参数限制

post请求理论上没有限制,主要是后台服务器做的限制,比如在Tomcat下取消POST大小的限制(Tomcat默认2M).

打开tomcat目录下的conf目录,打开server.xml 文件,修改

<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" maxPostSize="0" />

maxPostSize="0" (设为0是取消POST的大小限制)。

关于maxPostSize在不同tomcat版本下还有不一样,tomcat7.0.63之前该值设置0或者负数代表不限制,tomcat7.0.63之后设置0会导致数据提交不到后台,设置负数则代表不限制post参数大小,慎之!我的版本是7.0.61,所以设置为0

修改之后,成功下载!

参考:https://www.cnblogs.com/joechinochl/articles/6047145.html

战如熊虎,不惜屈命!

【http post】post传输数据大小相关推荐

  1. FAILED BINDER TRANSACTION (Android Binder传输数据大小限制)

    Android源代码中大小设置 http://androidxref.com/9.0.0_r3/xref/frameworks/native/libs/binder/ProcessState.cpp# ...

  2. 【FAQ】【HarmonyOS】鸿蒙java开发关于蓝牙通信api的传输数据大小设置

    [问题描述] 在使用BlePeripheralDevice类的writeCharacteristic方法向蓝牙传输数据,如果数据长度长一点,通过串口工具发现蓝牙设备端是会分包接受数据的各个部分,那么鸿 ...

  3. websocket传输数据大小限制_WebSocket基础知识笔记

    一.为什么需要 WebSocket? 初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处? 答案很简单,因为 HTTP 协议有 ...

  4. websocket传输数据大小限制_踩踏websocket:发送缓冲区大小超过允许的限制

    在客户端我使用Stomp进行websocket连接,服务器端使用 Spring 4 客户端我做了配置 var socket = new SockJS(urlBase + "/" + ...

  5. websocket传输数据大小限制_websocket设置传输大小

    tomcat中有提到: If the application does not define a MessageHandler.Partial for incoming text messages, ...

  6. websocket传输数据大小限制_websocket 发送字符串数据上限是多少

    匿名用户 1级 2017-06-07 回答 网上很多关于websocket发送数据大于大于0xFFFF(65535)的处理都是一句话"暂不处理"!!!!!所以特写此文. int W ...

  7. Android中关于Socket通信数据大小,内存缓冲区和数据可靠性的一点调查

    关于TCP和UDP Socket通信的区别: 应用场景: UDP传输协议效率高,但不可靠: TCP传输效率低,但可靠. 传输数据大小: UDP传输数据限定在64K以下: TCP传输数据无大小限制,可进 ...

  8. 字符设备驱动程序 2

    三.字符设备的注册 内核内部使用struct cdev结构来表示字符设备.在内核调用设备的操作之前,必须分配并注册一个或多个struct cdev.代码应包含<linux/cdev.h>, ...

  9. HTTP and HTML

    一.HTTP协议简介 1.互联网=物理连接介质+互联网协议 2.互联网建立的目的? 用于打破地域限制来进行数据传输 3.什么是上网? 用户上网的过程即浏览器向服务端发送请求,然后将服务端主机的文本文件 ...

最新文章

  1. nginx 301重定向带www的https链接配置方法
  2. linux 内核dmesg,linux內核調試kmsg,dmesg
  3. Linux dbm轻量级数据库介绍与使用
  4. *【洛谷 - P1025】数的划分(dfs 或 dp 或 母函数,第二类斯特林数Stirling)
  5. C++:34---union:联合/共用体,一种节省空间的类
  6. extjs TabPanel 监听激活事件
  7. 硬盘格式化了的数据找到办法
  8. 概率软逻辑(PSL,Probabilistic soft logic)通用(可处理中文)版本
  9. CUDA+cuDNN下载安装(配备GPU环境)
  10. windows运行命令大全
  11. 小米正式递交上市招股书:雷军股权绝对掌控
  12. 极简主义下,Effie与幕布的碰撞,思维导图的正确打开方式?
  13. 郑州共享门店系统开发优势有哪些?
  14. C语言(谭浩强版本,主讲人:小甲鱼)P41-P49
  15. css中a标签中去掉下划线注意事项
  16. 程序设计与算法 | (3) 输入输出与运算符、表达式
  17. 一节计算机课作文500,难忘的一节课作文500字4篇
  18. 用AI技术分析情商 川普和克林顿谁更胜一筹?
  19. 试题 算法提高 Monday-Saturday质因子
  20. 转:经典Excel VBA代码

热门文章

  1. 通过sftp由本地向Linux上传文件文件夹
  2. vue vant头像裁剪上传使用笔记
  3. JAVA毕设项目旅游路线规划系统(java+VUE+Mybatis+Maven+Mysql)
  4. android国内手机厂商白名单跳转工具类
  5. NepCTF2022 WP
  6. Mac 安装mysql8.0
  7. root教程ios,root教程华为荣耀20
  8. 小程序中的button按钮
  9. 程序员可以从哪些角度决定是否要出国发展?
  10. word文档设置位置锁定对象(锚)