get请求关于url长度过长问题_get请求关于url长度过长问题

get请求关于url长度过长问题_get请求关于url长度过长问题今天在写一个php相应jsonp请求的功能时,发现当url中包含的请求参数过长时会返回414错误。如下图414Request-URITooLarge414Request-URITooLargenginx在网上查询之后,浏览器和服务器对url长度都有限制,现总结如下。1、IEIE浏览器(MicrosoftInternetExplorer)对url长度限制是2083(2K+53)…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

12iz1qw9s0.png

今天在写一个php相应jsonp请求的功能时,发现当url中包含的请求参数过长时会返回414错误。

如下图

12iz1qw9s0.png?media_id=201

414 Request-URI Too Large

414 Request-URI Too Large



nginx

在网上查询之后,浏览器和服务器对url长度都有限制,现总结如下。

1、IE

IE浏览器(Microsoft Internet Explorer) 对url长度限制是2083(2K+53),超过这个限制,则自动截断(若是form提交则提交按钮不起作用)。

2、firefox

firefox(火狐浏览器)的url长度限制为 65 536字符,但实际上有效的URL最大长度不少于100,000个字符。

3、chrome

chrome(谷歌)的url长度限制超过8182个字符返回本文开头时列出的错误。

4、Safari

Safari的url长度限制至少为 80 000 字符。

5、Opera

Opera 浏览器的url长度限制为190 000 字符。Opera 9 地址栏中输入190 000字符时依然能正常编辑。

Apache能接受url长度限制为8 192 字符

2、IIS

Microsoft Internet Information Server(IIS)能接受url长度限制为16 384个字符。

这个是可以通过修改的(IIS7)configuration/system.webServer/security/requestFiltering/requestLimits@maxQueryStringsetting.

3、Perl HTTP::Daemon

Perl HTTP::Daemon 至少可以接受url长度限制为8000字符。Perl HTTP::Daemon中限制HTTP request headers的总长度不超过16 384字节(不包括post,file uploads等)。但当url超过8000字符时会返回413错误。

这个限制可以被修改,在Daemon.pm查找16×1024并更改成更大的值。

4、ngnix

可以通过修改配置来改变url请求串的url长度限制。

client_header_buffer_size 默认值:client_header_buffer_size 1k

large_client_header_buffers默认值 :large_client_header_buffers 4 4k/8k

由于jsonp跨域请求只能通过get请求,url长度根据浏览器及服务器的不同而有不同限制。

若要支持IE的话,url长度限制为2083字符,若是中文字符的话只有2083/9=231个字符。

若是Chrome浏览器支持的最大中文字符只有8182/9=909个。

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

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

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


相关推荐

  • PHP中file_put_contents追加和换行「建议收藏」

    PHP中file_put_contents追加和换行

    2022年2月11日
    53
  • Linux面试题整理[通俗易懂]

    Linux面试题整理[通俗易懂]Linux概述什么是LinuxLinux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。什么是Linux内核?Linux系统的核心是内核。内核控制着计算机系统上的所有硬件和软件,在必要时分配硬件,并根据需要执行软件。系统内存管理 应用

    2022年5月7日
    51
  • uniapp背景图片占不满屏幕_vue背景图片加载不出来

    uniapp背景图片占不满屏幕_vue背景图片加载不出来1.手机支持base64(小于40kb会自动转换否则就只能自己动手了2.路径前面加~@如:background:url(“~@/static/img/phb-no2@2x.jpg”);图片大于40k可以自己转化转化base64使用如:background:url(“data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAu4AAAEoCAI…

    2026年1月23日
    3
  • 递归算法 数据结构_数据结构中递归的定义

    递归算法 数据结构_数据结构中递归的定义一、什么是递归所谓递归,简单点来说,就是一个函数直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。引用知乎大佬的例子:我们可以把”递归

    2022年8月16日
    8
  • resnet pytorch代码_resnet pytorch

    resnet pytorch代码_resnet pytorchPyTorch:https://github.com/shanglianlm0525/PyTorch-Networksimporttorchimporttorch.nnasnnimporttorchvisionimportnumpyasnpprint(“PyTorchVersion:”,torch.__version__)print(“TorchvisionVersion:…

    2022年10月6日
    4
  • android 的hook技术,Android Native Hook技术(一)

    android 的hook技术,Android Native Hook技术(一)原理分析ADBI是一个著名的安卓平台hook框架,基于动态库注入与inlinehook技术实现。该框架主要由2个模块构成:1)hijack负责将so注入到目标进程空间,2)libbase是注入的so本身,提供了inlinehook能力。源码目录中的example则是一个使用ADBI进行hookepoll_wait的示例。hijackhijack实现动态库注入功能,通过在目标进程插入d…

    2022年5月25日
    55

发表回复

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

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