HTTP请求大小

URL大小

HTTP协议规范

  HTTP协议并没有限制URI的长度,如下:

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).

浏览器限制

  当前所有主流浏览器都会对URI的长度进行限制,如果超过长度限制会自动进行截断,实操中不建议超过2000个字符(主流浏览器都支持);

Header大小

HTTP协议规范

  理论上,HTTP协议并没有限制Header大小;

浏览器限制

 各个主流浏览器限制几十k~几百M不等的限制,需要根据实际情况进行测试,给出一组数据如下:

Opera 10: 150MB
Safari 5: 20MB
IE 6 via Wine: 10MB
Chrome 5: 250KB
Firefox 3.6: 10KB

服务器限制

 现在主流的apache和nginx服务器都有header大小的限制,可通过修改配置文件调整大小。Nginx默认的header长度上限是4k,如果超过了这个值nginx会直接返回400错误,可通过以下2个参数来调整nginx的header上限:

client_header_buffer_size 16k;
large_client_header_buffers 4 16k;

Body大小

HTTP协议规范

  理论上,HTTP协议并没有限制消息体大小;

浏览器限制

  通过表达传送文件时,可以对文件大小进行限制;

服务器限制

  Nginx默认对body大小限制是1M,如下:

client_max_body_size //限制body大小,默认是1m

参考:

  1. URL长度:https://stackoverflow.com/questions/417142/what-is-the-maximum-length-of-a-url-in-different-browsers;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值