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

ajax怎么解决报414,关于c#:HTTP错误414。请求URL太长。 asp.net我收到错误”HTTP错误414。请求URL太长”。从下面的文章中,我了解到这是由于查询字符串很长所致:在web.config中,我有maxQueryStringLength=”2097151″。这是最大值吗?为了解决此问题,我应该在web.config中设置maxUrl吗?如果是这样,支持的最大值是多少?我该怎么办才能解决此错误?是否可以将URL中的某些长字符串替换为整数或Guid?如果…

大家好,又见面了,我是你们的朋友全栈君。

我收到错误” 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类型提交。

这解决了我的问题。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/136574.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mongodb 学习笔记 04 — 游标、索引「建议收藏」

    mongodb 学习笔记 04 — 游标、索引

    2022年1月29日
    46
  • 数据库习题及答案5

    数据库习题及答案5模拟测验1一、1 2 3 4 5 6 7 8 9 10A D C c D A C A A C一、选择题(在每个小题四个备选答案中选出一个正确答案,填在题末的括号中)(本大题共10小题,每小题2分,总计20分)()是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。数据库在建立、使用和维护时由其统一管理、统一控制。A.DBMSB.DBC.DBSD.DBA下列四项中,不属于SQL2005实用程序的是()。A.对象资源管理器B.查询分析.

    2025年6月9日
    4
  • 作为一个死忠粉,我的 IntelliJ IDEA 一直都是这样来设置的,效果很棒!

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:judasn https://github.com/judasn/IntelliJ-IDEA-Tutorial…

    2021年6月25日
    82
  • Linux系统安装tomcat7

    Linux系统安装tomcat7Linux上如果尚未安装JDK,可以参考博文https://mp.csdn.net/postedit/801814221.下载Linux版tomcat7,官网即可下载https://tomcat.apache.org/download-70.cgi2.确定好在Linux上你tomcat要放的路径,我的是/usr/tomcat,可以在/usr目录下mkdirtomcat3.将本地tomcat的文件…

    2022年5月24日
    33
  • 基于HTML5移动app开发教程一

    基于HTML5移动app开发教程一一摘要现在教大家创建第一个移动APP应用,在这里不需要大家对HTML相关知识特别熟练,只要大家能看懂html,js代码,就可以轻松创建一个基于HTML5webAPP应用.二整体效果三整个框架图四具体实现1.页面引导图第一步manifest.json参数设置如图:第二步在index.html(这个文件相当于iOS中的appdelegate.m)加上引导图代码第三步在mui.plu

    2022年5月6日
    80
  • bzero函数C语言_zeros函数

    bzero函数C语言_zeros函数原型:externvoidbzero(void*s,intn);  用法:#include  功能:置字节字符串s的前n个字节为零且包括‘\0’。  说明:bzero无返回值,并且使用strings.h头文件,strings.h曾经是posix标准的一部分,但是在POSIX.1-2001标准里面,这些函数被标记为了遗留函数而不推荐使用。在POSIX.

    2022年10月12日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号