HTTP GET请求的最大长度?

article/2025/10/7 2:09:17

HTTP GET请求的最大长度是多少? 是否定义了一个响应错误,如果服务器收到超过此长度的GET请求,服务器可以/应该返回该错误?

更新:如标记中所示,这是在Web服务API的上下文中,尽管也很有趣地看到了浏览器的限制。


#1楼

从技术上讲,如果URL长度超过2000个字符,我会看到HttpGet会出现问题。 在这种情况下,最好使用HttpPost或拆分URL。


#2楼

这里有类似的问题: GET请求的长度是否有限制?

我已经达到了共享主机帐户的限制,但是浏览器在到达我认为的服务器之前返回了一个空白页。


#3楼

该限制取决于所使用的服务器和客户端(如果适用,还取决于服务器或客户端使用的代理)。

大多数Web服务器的限制为8192字节(8KB),通常可以在服务器配置中的某个位置进行配置。 至于客户端问题,HTTP 1.1规范甚至对此有所警告,这是第3.2.1章的摘录:

注意:服务器应谨慎使用255个字节以上的URI长度,因为某些较旧的客户端或代理实现可能无法正确支持这些长度。

该限制在MSIE和Safari中约为2KB,在Opera中约为4KB,在Firefox中约为8KB。 因此,我们可以假定8KB是最大可能的长度,而2KB是在服务器端依赖的更合理的长度,并且255个字节是假定整个URL都将进入的最安全的长度。

如果在浏览器或服务器中都超过了限制,则大多数字符会截断超出限制的字符,而不会发出任何警告。 但是, 某些服务器可能会发送HTTP 414错误 。 如果您需要发送大数据,则最好使用POST而不是GET。 它的限制高得多,但是比客户端更依赖于所使用的服务器。 一般的网络服务器通常最多允许2GB的空间。 也可以在服务器设置中的某个位置进行配置。 当超过POST限制时,普通服务器将显示特定于服务器的错误/异常,通常为HTTP 500错误。


#4楼

您在这里问两个独立的问题:

HTTP GET请求的最大长度是多少?

如前所述,HTTP本身并未对请求长度施加任何硬编码的限制。 但浏览器的限制范围为2kb-8kb(如果算上非常老的浏览器,则为255个字节)。

是否定义了一个响应错误,如果服务器收到超过此长度的GET请求,服务器可以/应该返回该错误?

那是没人回答的那个。

对于达到服务器定义的限制的情况,HTTP 1.1定义状态代码414 Request-URI Too Long 。 您可以在RFC 2616上看到更多详细信息。

对于客户端定义的限制,由于服务器根本不会收到请求,因此服务器没有返回任何内容。

希望这可以帮助。


#5楼

如前所述,HTTP本身并未对请求长度施加任何硬编码的限制。 但是浏览器的限制范围为get方法中允许的2048个字符。


#6楼

使用Chrome浏览器获取请求 是。 GET请求没有限制。

I am able to send ~4000 characters as part of the query string using chrome browser & curl command both. 

我正在使用tomcat 8.x服务器,该服务器已返回预期的200 OK响应。

这是chrome http请求的屏幕截图(出于安全原因隐藏了我尝试的端点):

响应 使用Chrome浏览器获取


#7楼

浏览器限制为:

Browser     Address bar   document.location  or anchor tag
------------------------------------------
Chrome          32779           >64k      
Android          8192           >64k                         
Firefox          >64k           >64k      
Safari           >64k           >64k      
IE11             2047           5120   
Edge 16          2047          10240

想要更多? 在Stack Overfollow上看到这个问题


http://chatgpt.dhexx.cn/article/QtIjh3Ts.shtml

相关文章

Arduino ESP32 获取网络数据(HTTP GET方式)

Arduino ESP32 获取网络数据(HTTP GET方式) 相关篇《Arduino ESP32 获取网络数据(HTTP POST方式)》《Arduino ESP32 获取网络数据(HTTP PATCH方式)》《Arduino ESP32 获取网络数据(HTTP PUT方式)》 本实例介绍,ESP32通过联网,访问指定服务器网站&#xf…

HTTP - get/post请求详解与本质区别总结

前言 在客户机和服务器之间进行请求、响应时,两种最常被用到的方法是:get和post。 get:从指定的资源请求数据(从服务器获取数据) post:向指定的资源提交要被处理的数据(向服务器传送数据&#…

transferTo源码分析

transferTo源码分析 如图

netty(五) 【 transferTo 零拷贝实例】

前言: 在linux 中 transferTo 方法就可以完成传输,在 windows 中依次调用transferTo最多能传8M文件,需要分段传文件,而且要注意传输起点位置 模拟服务端实验源码: package com.dev.nio.TRANSFERTO;import java.io.IO…

MultipartFile的transferTo方法的坑

前言 最近用SpringBoot写文件上传功能,使用参数绑定之后确实是非常的方便了。但是,项目部署就出现了问题,搞得我一脸懵逼。后来,才发现是因为我使用了相对路径导致的,这个绝对是一个坑人的地方,不过也说明需…

通过零拷贝进行有效的数据传输(java、c)

目录 日期转移:传统方法 数据传输:零复制方法 构建文件服务器 性能比较 概要 相关阅读 许多Web应用程序提供大量的静态内容,这相当于从磁盘上读取数据并将完全相同的数据写回响应套接字。该活动似乎需要较少的CPU活动,但效率…

NIO中的零拷贝--transferTo

1、我们说零拷贝,是从操作系统的角度来说的。因为内核缓冲区之间,没有数据是 重复的(只有 kernel buffer 有一份数据)。 2、零拷贝不仅仅带来更少的数据复制,还能带来其他的性能优势,例如更少的上下 文切…

使用transferTo上传文件容器为jetty的问题

报错 springboot 内嵌的 tomcat替换jetty 9.4.44 后出现的问题。 jetty容器使用transferTo 上传问题会提示找不到文件。 ava.io.FileNotFoundException: C:\Users\XXX\AppData\Local\Temp\D:\workspace\1675246694267.xlsx(文件名、目录名或卷标语法不正确。) 跟进代码发现 是下…

Java很简单的文件上传(transferTo方式)

采用file.Transto 来保存上传的文件,代码简单,速度快. package com.springbootemaildemo.controller;import com.springbootemaildemo.entity.ResponseEntity; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import…

动态规划题目2

动态规划 跳跃游戏 VI (滑动窗口动态规划)丑数统计字典序元音字符串的数目最长重复子串分隔数组以得到最大和最低票价回文子串最长重复子数组最长回文子序列摆动序列旋转函数统计各位数字都不同的数字个数 (动规排列组合)最大整除子集猜数字大小 II超级丑数预测赢家栅栏涂色丑数…

动态规划专题精讲1

致前行的人: 要努力,但不要着急,繁花锦簇,硕果累累都需要过程! 前言: 本篇文章为大家带来一种重要的算法题,就是动态规划类型相关的题目,动态规划类的题目在笔试和面试中是考察非常高…

Java实现动态规划经典题目

动态规划入门请看: DP动态规划专题(一)动态规划基本模型 前言 【说明】 关于动态规划的见解:动规和递归有很多相似的地方,最显著的特征可以说是阶段性,二者都有很明显的阶段划分,所以&#xf…

十一、动态规划题目相关

学习来源: 代码随香录:https://www.programmercarl.com/ labuladong算法:https://labuladong.github.io/algo/ 动态规划 动态规划五部曲 确定dp数组(dp table)以及下标的含义 确定递推公式 dp数组如何初始化 确定遍历…

动态规划题目汇总

文章目录 序言题目一:古生物血缘远近判定题目二:迷宫I题目三:迷宫II题目四:出界的路径数题目五:最长公共字串题目六:最长递增子序列题目七:递增的三元子序列题目八:最长回文字串题目…

动态规划经典例题:不同路径

力扣上比较简答的一道动态规划题目。 方程&#xff1a; class Solution { public:int uniquePaths(int m, int n) {const int M m;const int N n;int dp[M][N];memset(dp, 0, sizeof(dp));for (int i 0; i < m; i) dp[i][0] 1;for (int i 0; i < n; i) dp[0][i] 1;…

动态规划算法与典型例题

目录 前言 一、动态规划要素&#xff08;条件&#xff09; 二、动态规划算法设计步骤 三、复杂度分析 四、典型例题1——游艇租聘 五、典型例题2——0-1背包问题 六、典型例题3——跳台阶问题 七、典型例题4——强盗抢劫问题 总结 前言 动态规划也是一种分治思想&…

动态规划问题经典例题

目录 前言一、字符串分割二、三角矩阵的最小路径和三、路径总数四、最小路径和五、背包问题六、 回文串分割七、编辑距离八、不同的子序列 前言 DP&#xff08;Dynamic Programming&#xff09;定义&#xff1a; 动态规划是分治思想的延伸&#xff0c;通俗一点来说就是大事化小…

动态规划经典题目总结

微信公众号 在算法中&#xff0c;动态规划题目算是比较经典的一类题目。在找工作中&#xff0c;不管是笔试&#xff0c;还是面试&#xff0c;我们经常会遇到用动态规划来解决问题的情况&#xff0c;有时候面试官还需要我们现场手写出动态规划解法的代码。因此&#xff0c;在求职…

【动态规划】经典例题

一.动态规划三要素 1.最优子结构 2.状态转移方程 &#xff08;核心&#xff09;&#xff08;一般用打表找出规律&#xff09; 3.边界值 二.背包问题 &#xff08;一.题目&#xff09; 1.1题目描述 现在有一个背包但容量有限&#xff0c;最多只能装m千克宝石!有n个宝石&…

【动态规划专栏】--基础-- 动态规划经典题型

目录 动态规划 动态规划思维&#xff08;基础&#xff09; 状态表示&#xff08;最重要&#xff09; 状态转移方程&#xff08;最难&#xff09; 初始化&#xff08;细节&#xff09; 填表顺序&#xff08;细节&#xff09; 返回值&#xff08;结果&#xff09; 1、第 …