前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >tomcat修改http长度限制_解决浏览器与服务器请求url长度限制[通俗易懂]

tomcat修改http长度限制_解决浏览器与服务器请求url长度限制[通俗易懂]

作者头像
全栈程序员站长
发布2022-09-25 13:17:45
4.1K0
发布2022-09-25 13:17:45
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

一、前言

Http中get与post本身是没有受到长度限制的,受到限制是浏览器与服务器对url长度限制。具体说明请阅读我的零一篇文章《关于 HTTP GET/POST 请求参数长度最大值的一个理解误区》。

二、概述

1、服务器限制

我目前使用的服务器一般是tomcat+nginx,它们都是通过控制http请求头的长度来进行限制 的,nginx的配置参数为large_client_header_buffers,tomcat的请求配置参数为 maxHttpHeaderSize,都是可以自己去进行设置。

2、浏览器限制

浏览器的限制:每种浏览器也会对url的长度有所限制,

下面是几种常见浏览器的url长度限制:(单位:字符)

IE : 2803

Firefox:65536

Chrome:8182

Safari:80000

Opera:190000

3、cookie长度限制

I.浏览器所允许的每个域下的最大cookie数目。

IE :原先为20个,后来升级为50个

Firefox: 50个

Opera:30个

Chrome:180个

Safari:无限制

当Cookie数超过限制数时浏览器的行为:IE和Opera会采用LRU算法将老的不常使用的Cookie清除掉,Firefox的行为是随机踢出某些Cookie的值。当然无论怎样的策略,还是尽量不要让Cookie数目超过浏览器所允许的范围。

II.浏览器所允许的每个Cookie的最大长度。

Firefox和Safari:4079字节

Opera:4096字节

IE:4095字节

III.服务器中Http请求头长度的限制。Cookie会被附在每次http请求头中传递给服务器,因此还会受到服务器请求头长度的影响。

三、解决方案

1、tomcat解决请求头长度过长,修改server.xml配置。

2、nginx解决请求头长度过长,修改nginx.conf配置。

#在http标签下增加

client_header_buffer_size 512k;

large_client_header_buffers 4 512k;

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档