是否允许HTTP标头允许的最大允许大小?如果是这样,它是什么?如果没有,这是特定于服务器的东西,还是允许任何大小的标题的公认标准?
不,HTTP没有定义任何限制.但是,大多数Web服务器都会限制它们接受的标头大小.例如在Apache中,默认限制为8KB,在IIS中为16K.413 Entity Too Large
如果标头大小超过该限制,服务器将返回错误.
相关问题:用户代理字符串有多大?
正如vartec所述,HTTP规范没有定义限制,但默认情况下会有许多服务器.实际上,这意味着下限为8K.对于大多数服务器,此限制适用于请求行和所有标头字段的总和(因此请保持cookie短).
的Apache 2.0,2.2:8K
nginx:4K - 8K
IIS:因版本而异,8K - 16K
Tomcat:因版本而异,8K - 48K(?!)
值得注意的是,nginx默认使用系统页面大小,在大多数系统上都是4K.您可以查看这个小程序:
pagesize.c:
#include#include int main() { int pageSize = getpagesize(); printf("Page size on your system = %i bytes\n", pageSize); return 0; }
gcc -o pagesize pagesize.c
然后编译然后运行./pagesize
.来自Linode的我的ubuntu服务器尽职尽责告诉我答案是4k.