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)
上一篇 2022年6月3日 下午12:00
下一篇 2022年6月3日 下午12:00


相关推荐

  • 使用BREW开发定位应用程序

    使用BREW开发定位应用程序介绍 nbsp nbsp nbsp nbsp nbsp nbsp nbsp 本文目的是给那些 BREW 开发者们一个关于 BREWSDK API 中有效特征的大概的了解 他们用这些来创建 BREW 定位应用程序 gpsOne nbsp nbsp nbsp nbsp nbsp nbsp nbsp gpsOne 是一种混合定位系统 包括 AGPS the nbsp nbsp PDE PositionDete basedGPSgech 定位实体辅助

    2026年3月26日
    1
  • Java如何从字符串中提取数字

    Java如何从字符串中提取数字java 提取字符串中的数字

    2026年3月19日
    2
  • C# 手机号码归属地查询

    C# 手机号码归属地查询手机号码归属地的数据信息是存于某文件夹下的txt文档,打开一txt文档里面的数据格式如下:13003000000-13003009999-合肥13003010000-13003029999-蚌埠13003030000-13003049999-芜湖13003050000-13003069999-合肥13003070000-13003079999-淮南13003080000

    2022年7月22日
    20
  • OPC协议_opc协议端口号

    OPC协议_opc协议端口号当然,OPCUA组件也可以在Unix操作系统的信息技术(IT)系统中使用,诸如:Solaris、HPUX、AIX、Linux等,可以是企业资源计划(ERP)系统,可以是生产计划(MES)和监控软件(SCADA),还可以是电子商务应用。OPCUA接口协议包含了之前的A&E,DA,OPCXMLDAorHDA,只使用一个地址空间就能访问之前所有的对象,而且不受WINDOWS平台限制,因为它是从传输层Scoket以上来定义的,这点后面会提到,导致了灵活性和安全性比之前的OPC都提升了。……

    2025年5月26日
    7
  • Python系列教程一Python入门(一)

    Python系列教程一Python入门(一)前言各位看博客的园友们,大家好,我就是那个风流倜傥的KK,还记得我那篇2019年的年中总结博客吗?我想有许多看博客的园友是没有读过我那篇文章的,KK很生气,后果很严重(开个玩笑了,怎么可能)。给大家

    2022年7月6日
    30
  • matlab interp1 pchip,matlab多项式插值interp1深入研究(1)「建议收藏」

    matlab interp1 pchip,matlab多项式插值interp1深入研究(1)「建议收藏」学习matlab不久,遇到了多项式插值interp1,在网上没有找到研究其插值方法的文章,在此,对其中插值方法做了一些研究,属于matlab范畴之外,但是无聊研究一下总的来说不会有坏处。interp1的具体运用也比较低,个人理解主要属于样本丢失,补充样本用,所以最后还介绍了傅里叶增值法。正文:首先介绍一个多项式插值函数:Y=interp1(x,y,X,’mothod’)本文主要讨论’mothod…

    2022年4月30日
    143

发表回复

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

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