后端:414 Request-URI Too Large解决方案

目录

一、get请求改为Post请求

二、调整前端请求参数的逻辑

三、服务器配置调整

3.1 Java项目

3.2 PHP项目:

3.3  Net项目

3.4 nginx配置文件修改内容:


Web项目接口请求会出现414 Request-URI Too Large这个错误

                       

下面给大家分享一下相关解决办法:

一、get请求改为Post请求

如果你的web请求是get请求,可以考虑调整为post请求。

get请求:当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。

post请求:没有限制。

二、调整前端请求参数的逻辑

比如你前台调用后台接口,需要批量操作,可能会传递一个数据集合对象json字符串,这样参数的长度会大大增加。这个时候可以考虑只传递id组成的字符串,然后在后台逻辑处理,根据id字符串查询所需的数据,然后完成相应的编码工作。

三、服务器配置调整

服务器配置调整是最有效的解决方式。服务器配置调整是全局性的,但要根据实际业务需求处理,不能随意把参数长度调整很大,这样也会对系统性能也会有很大的影响。服务器配置调整主要有nginx、tomcat、iis、apache等

3.1 Java项目

tomcat下server.xml文件修改内容:

<Connector 

port="8080" 

protocol="HTTP/1.1"  connectionTimeout="20000" redirectPort="8443" 

maxHttpHeaderSize="65536"  URIEncoding="UTF-8" />

3.2 PHP项目:

在Apache的 httpd.conf 配置文件中直接追加以下参数:

LimitRequestLine 40940 

LimitRequestFieldSize 40940

3.3  Net项目

在web.config文件中的system.web配置节增加下面语句。

<httpRuntime targetFramework="4.5.1" requestValidationMode="2.0" maxRequestLength="1024000"  executionTimeout= "3600"   />

maxRequestLength设置POST的长度大小。

3.4 nginx配置文件修改内容:

nginx.conf配置文件把这两个缓存加大就行

#请求头总长度大于512k时使用large_client_header_buffers设置的缓存区

client_header_buffer_size 512k;

#large_client_header_buffers 指令参数4为个数,512k为大小,默认是8k。申请4个512k。

large_client_header_buffers 4 512k;重启nginx命令

刷新nginx服务

1、Linux服务器

进入nginx可执行目录sbin下,输入命令./nginx -s reload 即可

cd /usr/local/nginx/sbin/

./nginx -s reload

2、Windows服务器

nginx.exe -s reload

IT技术分享社区

个人博客网站:https://programmerblog.xyz

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/271236.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面向对象和面向过程_程序员给你解释:面向对象和面向过程的区别,到底是怎么回事?...

今天下午在一个组的项目回顾会议上&#xff0c;这个同事讲了自己用DDD思想对三个模块的重构。把之前在Service层的一些业务逻辑下沉到了领域层里&#xff0c;由之而引起的讨论。部门经理&#xff1a;“其实你的业务逻辑总体并没有少&#xff0c;只是把边界重新划分了一下。”一…

SQL语言基础:SQL授权相关知识笔记​

1、数据控制数据控制是控制对用户存取的权力&#xff0c;由DBA来决定。DBMS数据控制与功能&#xff1a;1、通过GRANT和REVOKE将授权通知系统&#xff0c;并存入数据字典。2、当用户发起请求时&#xff0c;根据授权情况检查是否执行操作请求。SQL标准包括 delete、insert、selec…

JVM的位置

对于JVM的位置&#xff1a; JVM是运行在操作系统之上的,它与硬件没有直接的交互JVM是运行在操作系统之上的&#xff0c;与硬件没有直接的交互&#xff0c;但是可以调用底层的硬件&#xff0c;用JIN &#xff08;Java本地接口调用底层硬件接口&#xff0c;了解下就好&#xff0…

word2010添加b5纸张大小_纸张幅面规格尺寸你了解吗?

点击蓝色文字关注|十七的锚|(单位&#xff1a;mm)关于印前调整若纸张规格标记字母的前面加一个字母R(或S)时&#xff0c;是表示纸张没有切毛边&#xff0c;经过切边修整后&#xff0c;将减少到标准尺寸&#xff0c;例如RA4(或SA4)表示不切边纸张的尺寸为240mm*330mm&#xff0c…

JVM体系结构

JVM体系结构 Java虚拟机主要分为五大模块&#xff1a; 类装载器子系统运行时数据区执行引擎本地方法接口垃圾收集模块1、JVM一共分为五个区&#xff0c;分别为方法区、堆、Java栈、本地方法栈、程序计 2、方法区、堆为线程共享区域&#xff0c;GC会对二个区进行垃圾回收&…

找数据?这几个数据源网站就够用了?

来源&#xff1a;经管学苑转自&#xff1a;经管学苑大家好&#xff0c;我是小z在这个用数据说话的时代&#xff0c;能够打动人的往往是用数据说话的理性分析&#xff0c;无论是对于混迹职场的小年轻&#xff0c;还是需要数据进行分析和研究的同学&#xff0c;能够找到合适的数据…

solaris11-text-安装GUI(gnome)

http://blog.chinaunix.net/xmlrpc.php?rblog/article&uid45057&id3018467 1.下载所需的资源Text Installer CDRepository Image(a,b)http://www.oracle.com/technetwork/server-storage/solaris11/downloads/index.html2.用text CD安装solaris11安装那是相当的快呀&a…

java replaceall 大小写_Java replaceAll不区分大小写

Java 中replaceAll如何忽略大小写呢?方式一:在正则表达式前面添加(?i)Testpublic void test_replaceAll33(){String input "I like Java,jAva is very easy and jaVa is so popular.";String replacement"cccc";System.out.println(input);System.out.p…

jdk环境变量配置_jmeter及jdk的环境变量配置

jmeter是apache公司基于java开发的一款开源压力测试工具&#xff0c;其内部原理都是源于java的运行&#xff0c;并支持多种外部插件用于接口及性能测试&#xff0c;最主要的还是开源免费&#xff0c;在安装jmeter前必须配置jdk环境。jdk下载地址&#xff1a;https://www.oracle…

jvm是运行在操作系统之上的,他和硬件没有直接的交互

jvm是运行在操作系统之上的&#xff0c;他和硬件没有直接的交互

SQL语言基础:触发器相关知识介绍​

1、触发器 Trigger介绍触发器可以实现完整性规则和保证一些复杂业务规则的实施。针对示警或满足特定 条件下自动执行某项任务来说&#xff0c;触发器是十分有用的机制。触发器是由事件1驱动的特殊过程&#xff0c;一旦由某个用户定义&#xff0c;任何用户对该触发器指定的数据新…

java struts2值栈ognl_Struts2的值栈和OGNL牛逼啊

Struts2的值栈和OGNL牛逼啊一 值栈简介&#xff1a;值栈是对应每个请求对象的一套内存数据的封装&#xff0c;Struts2会给每个请求创建一个新的值栈&#xff0c;值栈能够线程安全的为每个请求提供公共的数据存取服务。二 OGNL介绍&#xff1a;(1)基本数据&#xff1a;OGNL 是对…

还在用 Notepad++吗? 盘点五款更好用的文本编辑器

来自&#xff1a;oschina.net/news/110987/no-notepad-plus-plus | 责编&#xff1a;乐乐正文 Notepad 一直饱受争议&#xff0c;2018年开始然后引发了大家的关注&#xff0c;这里师长作为技术媒体&#xff0c;不方便带啥节奏&#xff0c;具体事件内容请大家自行百度。其实作…

SQL语言:嵌入式SQL知识笔记

1、概念SQL提供了将SQL语句嵌入到某种高级语言中的使用方式&#xff0c;通常采用预编译的方法将SQL语句嵌入高级语言中。采用的方法由DBMS的预处理程序对源程序进行扫码、识别出SQL语句&#xff0c;把它们转换为主语言调用语句&#xff0c;这样可以让主语言编译程序能识别它&am…

Mysql bat脚本编写_第一次编写bat脚本

** 前言 **今天中午在宿舍不想做什么事&#xff0c;于是想到傻怡的电脑太卡了&#xff0c;多方面原因造成的&#xff0c;多软件安装于系统盘、安装了没用的杀毒软件等等&#xff0c;但是对于windows系统来说呢&#xff0c;使用时间长了&#xff0c;会有很多的缓存文件、日志文件…

windows+caffe(三)——求取图片的均值

这个要在图片已经转化成lmdb格式下才能求均值。。。 1.查看caffe根目录下的bin是否存在compute_image_mean.exe&#xff08;用的happey大神的&#xff09; 如果没有存在&#xff0c;你需要打开MainBuilder.sln&#xff0c;右键compute_image_mean-仅用于项目-仅生成compute_ima…

硬盘知识:硬盘中蓝盘、绿盘、黑盘、红盘有什么区别?

今天给大家介绍一下电脑硬盘中蓝盘、绿盘、黑盘、红盘有什么区别&#xff1f;我们平常说的蓝盘、黑盘、红盘、绿盘这些通常指的是西部数据旗下所产的硬盘&#xff0c;通过各自的特点进行了上述的分类。从外观上我们可以通过硬盘上贴的纸的颜色来区分。绿盘&#xff1a;监控盘&a…

java 框架mvc_JAVA框架-MVC模式

MVCMVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑&#xff0c;在数据变化时更新控制器。View(视图) - 视图代表模型包含的数据的可视化。Controller(…