我收到错误" HTTP错误414。请求URL太长"。 从下面的文章中,我了解到这是由于查询字符串很长所致:

在web.config中,我有maxQueryStringLength="2097151"。 这是最大值吗?

为了解决此问题,我应该在web.config中设置maxUrl吗? 如果是这样,支持的最大值是多少?

我该怎么办才能解决此错误?

是否可以将URL中的某些长字符串替换为整数或Guid? 如果网址中有任何来自有限列表的长字符串变量,那么像这样的某种映射可能会让您缩短网址?

实际上是从http.sys而不是IIS引发此错误。在将请求传递到请求处理管道中的IIS之前,将引发该错误。

要验证这一点,您可以按照https://stackoverflow.com/a/32022511/12484检查HTTP响应标头中的Server标头值。

若要使https.sys接受更长的请求URL而不引发HTTP 414错误,请在服务器PC上的Windows注册表中的Computer HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services HTTP Parameters中,创建一个名称为MaxFieldLength的DWORD类型的值并且值足够大,例如65535。

参考:Windows的Http.sys注册表设置

如果您决定进行更改,那么显然需要在所有环境(包括所有生产服务器)中进行更改,而不仅仅是在本地开发PC上进行。

另外,您的团队用于设置新服务器实例的任何脚本和/或文档都需要进行更新以包括此注册表设置,以便您的团队在设置新产品后的18个月内不要忘记应用此设置。服务器。

最后,请注意,进行此更改可能会对服务器上运行的所有应用程序造成不利的安全后果,因为攻击者提交的大型HTTP请求不会像通常那样在管道中被早期拒绝。

作为绕过http.sys安全性进行此更改的替代方法,请考虑将请求更改为接受HTTP POST而不是HTTP GET,然后将参数放入POST请求正文而不是长URL中。有关此内容的更多讨论,请参阅带有大量查询参数的问题设计RESTful GET API。

如此答案中所述->不同浏览器中URL的最大长度是多少?

URL的允许长度取决于浏览器和服务器的组合。因此,很难确切地说出该URL的长度。答案建议URL中的字符数保持在2000以下。我不知道您的查询字符串为什么这么长。你能缩短吗?在不进一步了解解决方案和查询字符串的情况下,很难给您任何建议。

通常,URL有其长度限制,如果设置此值,可能会暂时解决问题,但请记住,对于较长的url情况,最佳做法是使用表单。具体来说,最好使用POST操作而不是Get。

但是只有GET请求可以加书签。 在web.config中也设置了上述值后,问题也没有解决。

您可以通过URL缩短来实现此目的,这与大型应用程序(例如twitter,google等)中的实现方法相同。 为此,您应该考虑一个数据库表并存储所有详细信息参数,并仅将行的ID(主键)反映给用户以添加书签。 此外,您应该设计一个页面来处理和解析捕获的ID(来自request.QueryString)...希望此解决方案能够解决您的问题

@Midhun:-或您可以做的其他事情是-制作一个只包含get的类; 并设置 属性。 将所需的值分配给此类属性,然后根据需要在ViewState或Session中添加此类,并在您的应用程序中使用它。 因此,您无需将大量数据传递到查询字符串中。 希望这对您有帮助。

只是为了补充,如果您尝试使用大量参数,请使用Request ajax并接收414错误。将dataType属性更改为JSON,然后以POST类型提交。

这解决了我的问题。

ajax怎么解决报414,关于c#:HTTP错误414。请求URL太长。 asp.net相关推荐

  1. 关于请求URL过长报414的问题

    关于请求URL过长报414的问题 问题如下: post请求携带超长url,报下图错误 解决: 1.涉及到参数特别多,然后对参数值安全性又有一定的要求,那么就需要考虑:对字符串加密JS加密url生成已加 ...

  2. ajax怎么解决报414,414request怎么解决

    414是什么意思? 在请求的时候使用了Get方法,由于拼接的url过长,超出服务器的限制导致出现了"414 request-uri too large"错误. The HTTP p ...

  3. Nginx+Tomcat负载均衡访问网页出现报错HTTP Status 400 – 错误的请求

    小故障 今天在搭建Nginx反向代理两个Tomcat站点负载均衡访问网页出现了400的网页报错. HTTP Status 400 – 错误的请求 故障原因 问题出在了nginx主配置文件中给后端tom ...

  4. ajax怎么解决报414,如何解决HTTP 414“请求URI太长”错误?

    根据约翰的回答,我将GET请求更改为POST请求.它可以工作,而无需更改服务器配置.所以我去寻找如何实现这一点.以下页面是有帮助的: 带有PHP的jQuery Ajax POST示例 (注意清理发布的 ...

  5. 解决HTTP 414“请求URI太长”的思路

    参考社区问答https://cloud.tencent.com/developer/ask/96327 1.不建议改apache的配置 在Apache下,限制是一个可配置的值.如果想要支持更长的请求U ...

  6. 因网络不好导致请求时间太长问题的解决

    问题描述: 项目生产环境,网不太好,后台服务器返回的数据量又太大,请求开始会有一个遮罩,请求结束遮罩才会关闭,因为数据一直在接收中,导致这段时间内什么操作都做不了,只能杀死进程在重新进入.这里需要加一 ...

  7. python网址太长_python中url太长怎么解决

    展开全部 今天写了个脚本 主要就是实现利用SQLInj点直接把数据获取到本地62616964757a686964616fe58685e5aeb931333363383462并存到Mysql数据库中 学 ...

  8. 阿里云文件上传报413 Request Entity Too Large(请求实体太大)

    文章目录 1.问题描述 2.解决方案 1.问题描述 今天在使用阿里云做上传文件的时候,后端使用swagger测试都没问题,前端测试就有问题了,一直包413错误,后来通过控制台发现是文件大小的问题.由于 ...

  9. MATLAB 解决:数据比较多的矩阵赋值,耗时太长的问题

    两个系数矩阵要进行融合,采用绝对值取大的准则,一般采用for循环即可 Coefs=Coefs1;[x,y,z]=find(Coefs2);for m=1:length(x)if(abs(Coefs2( ...

最新文章

  1. mybatis对mysql if函数_Mybatis使用mysql函数if出现错误
  2. 您的请求参数与订单信息不一致_长春各学校信息审核结果出炉!这些情况不符合“两个一致”...
  3. Redhat Linux通过RPM安装搭建LAMP环境
  4. Spring Cloud【Finchley】-07Feign构造多参数GET/POST请求
  5. css之去除html标签默认的外边距margin和内边距padding,通用工具类 base.css
  6. 黑苹果16g内存够用吗_现阶段最便宜的完美黑苹果配置是什么?
  7. MyEclipse或Eclipse中工程的导入和导出
  8. Java菜鸟教程 面向对象初步(一)
  9. 小米android手机怎么刷机,小米4手机怎么刷机 小米4刷机图文教程
  10. 如何取消linux响铃_虚拟机linux关闭蜂鸣器
  11. 卡尔曼滤波原理及matlab仿真
  12. 全国各地货运量(全国与各省级指标,2005-2019数据分析对比)
  13. 英语语法基础入门怎么学好
  14. java string 初始化 null_java基础 题和知识点总结, 关于String s是否默认初始化为null......,new一个对象和类静态域,是不是在内存中不是一个地方...
  15. IDEA translation翻译插件报错-》更新TKK失败请检查网络
  16. 高效办公之思维导图半小时从入门与精通(Xmind2020版)
  17. java坦克大战(1.0)
  18. 混音软件哪个好用?这几个软件不容错过
  19. Android音视频——基础介绍
  20. 代码记录丨小青蛙和汉诺塔

热门文章

  1. COT:chain of thought
  2. 雷军的猪已经落地了,那人工智能的猪该飞去哪?
  3. BIOS知识枝桠——HII
  4. 如何进行域名注册,注册到终端喜爱的域名?
  5. 计算机windows无法加载怎么办,win7开机提示由于系统注册表文件丢失或损坏因此无法加载怎么办...
  6. jenkins+git+gradle配置自动打apk包
  7. hihocoder 闰秒
  8. 可以去看阿哲演唱会咯~
  9. 计算机定时播放音乐,智能音乐定时播放系统 MP3音乐定时播放工具
  10. centos7磁盘挂载及目录扩容