Http请求URL长度限制[通俗易懂]

Http请求URL长度限制[通俗易懂]http1.1协议原文http1.1协议中对url的长度是不受限制的,协议原文://https://www.ietf.org/rfc/rfc2616.txt3.2.1GeneralSyntax TheHTTPprotocoldoesnotplaceanyapriorilimitonthelengthofaURI.ServersM…

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

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

http 1.1 协议原文

http 1.1 协议中对url的长度是不受限制的,协议原文:

// https://www.ietf.org/rfc/rfc2616.txt 
3.2.1 General Syntax
	   The HTTP protocol does not place any a priori limit on the length of
   a URI. Servers MUST be able to handle the URI of any resource they
   serve, and SHOULD be able to handle URIs of unbounded length if they
   provide GET-based forms that could generate such URIs. A server
   SHOULD return 414 (Request-URI Too Long) status if a URI is longer
   than the server can handle (see section 10.4.15).

      Note: Servers ought to be cautious about depending on URI lengths
      above 255 bytes, because some older client or proxy
      implementations might not properly support these lengths.

翻译:

     HTTP协议不对URI的长度作事先的限制,服务器必须能够处理任何他们提供资源的URI,并且应该能够处理无限长度的URIs,这种无效长度的URL可能会在客户端以基于GET方式的请求时产生。如果服务器不能处理太长的URI的时候,服务器应该返回414状态码(此状态码代表Request-URI太长)。

    注:服务器在依赖大于255字节的URI时应谨慎,因为一些旧的客户或代理实现可能不支持这些长度。
协议中未明确对url进行长度限制,但在真正实现中,url的长度还是受到限制的,一是服务器端的限制,二就是浏览器端的限制。

长度限制

服务器端

  • nginx
    nginx服务器默认的限制是4K或者8K
    设置参数:large_client_header_buffers

浏览器端

浏览器 最大长度(字符数) 备注
Internet Explorer 2083 如果超过这个数字,提交按钮没有任何反应
Firefox 65,536
chrome 8182
Safari 80,000
Opera 190,000
curl(linux下指令) 8167

Reference

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

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

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

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

(0)


相关推荐

  • 设计模式之观察者模式建议收藏

    在日常生活中,交通信号灯指挥者日益拥挤的城市交通。红灯亮,汽车停止;绿灯亮,汽车继续前行;在这个过程中,交通信号灯是汽车的观察目标,而汽车则是观察者。随着交通信号灯的变化,汽车的行为也会随之变化,一盏

    2021年12月19日
  • nvicat激活码-激活码分享

    (nvicat激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

  • 怎样用STM32CAN总线接口发送和接收数据

    怎样用STM32CAN总线接口发送和接收数据CAN协议基础知识I2C.SPI总线多用于短距离传输,协议简单,数据量少,主要用于IC之间的通讯,而CAN总线则不同,CAN(ControllerAreaNetwork)总线定义了更为优秀的物理层、数据链路层,并且拥有种类丰富、简繁不一的上层协议。与I2C、SPI有时钟信号的同步通讯方式不同,CAN通讯并不是以时钟信号来进行同步的,它是一种异步通讯,只具有CAN_High和CAN_L…

  • Java和JavaScript之间的区别

    Java和JavaScript之间的区别1.简介我们将在本文中比较Java语言和JavaScript语言。JavaScript由Netscape开发。它最初是用于客户端的脚本语言,后来又用作客户端和服务器脚本的语言。Java由JamesGosling由SunMicrosystems开发。这些天来,JavaScript在服务器中以node.js的形式使用。Java和JavaScript之间在程序编码,编译和运行方式方…

  • 实例分割算法_实例分割数据集制作

    实例分割算法_实例分割数据集制作实例分割COCO挑战赛http://cocodataset.org/#detection-leaderboardMaskScoringR-CNN2019-CVPR-华中科技大学-MaskScoringR-CNNMaskScoringR-CNN蒙版得分(maskscore)https://www.jiqizhixin.com/articles/2019-05-15-4代码(只针对COCO数据集)https://github.com/zjhuang22/masksc

  • 用例图详解_用例图include是用什么画的

    用例图详解_用例图include是用什么画的对于用例图来说我们需要了解的是什么叫用例图,构成用例图的要素,用例图有哪些重要的元素,各个用例之间的关系。当然最重要的是如何根据需求创建用例图。具体的创建通过一个简单的学生管理的例子说明创建的过程和例子。  我的所有例子都是是使用Rose这个软件来画的,现在虽然有新的UML模型画图软件,但是我比较喜欢用这个Rose,如果你还没有装这个软件需要先装一个,或者使用你比较喜欢的UML画图软件。下面我们

发表回复

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

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