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类型提交。

这解决了我的问题。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 大数据建模培训Python

    大数据建模培训Python我国的知名人士:“马云”以前在2015年提及互联网技术将要由IT转至DT,什么叫DT,说白了DT便是数据信息加技术性。现如今是个实实在在的互联网时代,互联网大数据围绕了大家的吃穿住行,能够这么说,互联网大数据是现阶段最珍贵的数据信息藏宝。什么叫Python网络爬虫?Python网络爬虫又叫爬虫技术,有关Python网络爬虫,大家必须了解的有:1、Python基本英语的语法2、HTML网页页面的內容抓取(数据收集)3、HTML网页页面的数据信息获取(数据预处理)4、Scrapy架构

  • 我是如何学习Android源码的

    我是如何学习Android源码的一连很长时间(从2017/06/09到2017/06/26)都在研究蓝牙,而且这只是文章发表的时间,再加上组织文章和研究的时间,不知不觉中就坚持这么久………,也写了蓝牙的三篇博客,而且篇幅很长如下:在这里就不放文章链接了,有需要的在我的文章中搜索即可,现在,是时候放空一下,给自己充充电了,来张美景,欣赏一下北京的晚霞。言归正传,先放上Android源码连接地址Android源码,至于研究源码的好处,

  • code blocks使用方法总结「建议收藏」

    code blocks使用方法总结「建议收藏」下载和安装:官网地址:http://www.codeblocks.org/downloadstips:同一个版本有多个安装文件,官网上有对于各个文件的简要介绍。最好选择 mingw-se

  • 快排的优化方法(优化营商环境方案)

    聚集相同元素排序是快速排序的一种优化方案,它的思路是在经过一次找基准之后把数据中与基准相同的数据聚集到基准左右,这样就可以少进行几次递归找基准的过程,从而提高了运行效率。看以下程序:importjava.util.Arrays;publicclassFocusAlikeQuickSort{/**找基准的方法,与前文相同*/publicstatic…

  • C#自定义特性实例

    元数据,就是C#中封装的一些类,无法修改.类成员的特性被称为元数据中的注释.1、什么是特性(1)属性与特性的区别属性(Property):属性是面向对象思想里所说的封装在类里面的数据字段,Get

    2021年12月24日
  • Android so文件浅析「建议收藏」

    Android so文件浅析「建议收藏」一.简述Android中的so文件是动态链接库,是二进制文件,即ELF文件。多用于NDK开发中。二.基础知识三.so文件格式解析so文件即ELF文件,是一个二进制文件,我们可以用UltraEdit打开查看。如下:上面有一处很明显看到,在so文件解析出来的头文件字段是ELF,也印证.so是一个ELF格式的问题。ELF文件…

发表回复

您的电子邮箱地址不会被公开。

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