您现在的位置是:首页 > 正文

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

2024-02-01 04:12:42阅读 1

参考社区问答https://cloud.tencent.com/developer/ask/96327

1.不建议改apache的配置

在Apache下,限制是一个可配置的值。如果想要支持更长的请求URI,请将此值更改为大于默认值8190的值。该值位于/etc/apache2/apache2.conf中。如果不是,请LimitRequestLine 10000在下添加一个新行()AccessFileName .htaccess。

但是如果实际遇到此限制,可能会先滥用GET。你应该使用POST传输这种数据 - 尤其是因为你甚至承认你正在使用它来更新值。如果你检查上面的链接,你会注意到Apache甚至说:“在正常情况下,值不应该从默认值改变。”

2.主要在后端处理,前端改请求方法

基本上,区别在于GET请求具有一个字符串中的url和参数,然后发送null:

http.open("GET", url+"?"+params, true);
http.send(null);

而POST请求通过单独的命令发送url和参数:

http.open("POST", url, true);
http.send(params);

这是一个工作示例
ajaxPOST.html:

<html>
<head>
<script type="text/javascript">
    function ajaxPOSTTest() {
        try {
            // Opera 8.0+, Firefox, Safari
            ajaxPOSTTestRequest = new XMLHttpRequest();
        } catch (e) {
            // Internet Explorer Browsers
            try {
                ajaxPOSTTestRequest = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    ajaxPOSTTestRequest = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {
                    // Something went wrong
                    alert("Your browser broke!");
                    return false;
                }
            }
        }

        ajaxPOSTTestRequest.onreadystatechange = ajaxCalled_POSTTest;
        var url = "ajaxPOST.php";
        var params = "lorem=ipsum&name=binny";
        ajaxPOSTTestRequest.open("POST", url, true);
        ajaxPOSTTestRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        ajaxPOSTTestRequest.send(params);
    }

    //Create a function that will receive data sent from the server
    function ajaxCalled_POSTTest() {
        if (ajaxPOSTTestRequest.readyState == 4) {
            document.getElementById("output").innerHTML = ajaxPOSTTestRequest.responseText;
        }
    }
</script>

</head>
<body>
    <button onclick="ajaxPOSTTest()">ajax POST Test</button>
    <div id="output"></div>
</body>
</html>

ajaxPOST.php:

<?php

$lorem=$_POST['lorem'];
print $lorem.'<br>';

?>

网站文章

  • Python 爬虫urllib之request.ProxyHandler代理

    ProxyHandler函数用于网站封IP, 如果同一个IP访问过于频繁,那么该网站就会禁止来自该IP的访问,因此使用代理可以达到我们的目的。 代理地址从哪里找呢,打开 http://httpbin....

    2024-02-01 04:12:34
  • Unity LineRenderer绘制线条并产生碰撞

    Unity LineRenderer绘制线条并产生碰撞

    因为项目中有用到,最后感觉挺好玩所以记录一下,有需要的小伙伴可以借鉴一下。现在开始先看一下最终效果:Unity Linrenderer详细参数:Cast Shadows:线是否投射阴影Receive Shows:线是否接收阴影Motion Vectors:运动轨迹 Camera Motion Only:只有相机移...

    2024-02-01 04:12:28
  • 再谈Js定义变量,你不得不踩的那些坑

    再谈Js定义变量,你不得不踩的那些坑

    前言今天在Codewars刷题,碰到一个7kyu(这个等级,学过一点js的人,都会做)等级的题目,题目很简单:求累加和,并对异常情况进行特殊处理。看着非常简单,事实上并不难。我的第一次代码:// ??...

    2024-02-01 04:12:00
  • 漏洞分析|Adobe ColdFusion WDDX 序列化漏洞利用

    漏洞分析|Adobe ColdFusion WDDX 序列化漏洞利用

    本文将分享继 CVE-2023-29300 之后的不出网利用方式,提出 C3P0 和 JGroups 两条基于服务错误部署的新利用链。现 Goby 中实现了 C3P0 和 JGroups 利用链的完整利用,完全支持命令执行以及结果回显功能。

    2024-02-01 04:11:53
  • 医院招聘护士 计算机证,医院招聘护士的自我介绍

    护士的自我介绍是向别人展示自己的一个重要手段,自我介绍得好不好,直接关系到自身给别人第一印象的好坏,也对以后交往顺利与否起到不可忽视的作用,以下是学习啦小编为您整理的护士的自我介绍内容,希望能帮到你。...

    2024-02-01 04:11:48
  • ARM NEON 编程简单入门1

    NEON简介NEON是适用于ARM Cortex-A系列处理器的一种128位SIMD(Single Instruction, Multiple Data,单指令、多数据)扩展结构。从智能手机和移动计算设备到HDTV,它已被公认为是多媒体应用领域中最为优越的处理器之一。它采用专门设计,简化了软件在不同平台之间的移植,为类似DolbyMobile的密集型多媒体应用提供了低能耗和灵活的加速功...

    2024-02-01 04:11:18
  • 详细创建Prism架构wpf项目

    详细创建Prism架构wpf项目

    wpf prism 创建

    2024-02-01 04:11:10
  • 笔记本计算机点管理点不开,电脑黑屏只有鼠标箭头任务管理器打不开 怎么解决...

    1、电脑黑屏显示器接触不好:你把显示器接主机箱后面的接口拆下来并清理干净,再接好了试试,注意不要把接口接反了。如果接触没问题还不行,最好换一台显示器试试,以便确定是否显示器有问题。2、电脑黑屏内存条接...

    2024-02-01 04:11:07
  • WPF笔记汇总之消息框与界面控件

    接上一篇 《WPF笔记汇总之命令的使用》,这篇主要汇总WPF中的消息框及通用界面控件如工具栏,菜单栏,状态栏等控件的使用方法汇总。

    2024-02-01 04:11:01
  • 计算机excel怎么备注,excel自动得出结果_excel表格怎么让计算公式得出结果并带有备注?_excel得出结果_excel怎么得出结果...

    计算机excel怎么备注,excel自动得出结果_excel表格怎么让计算公式得出结果并带有备注?_excel得出结果_excel怎么得出结果...

    excel表格怎么让计算公式得出结果并带有备注?在建筑行业里造价人员经常要用到excel表进行计算公式,但是很多人不知道如何使计算公式得出结果并带有备注,下面我来手把手讲解1、打开excel表,ctr...

    2024-02-01 04:10:36