Kev*_*son 70 iis-7 http apache2 tomcat6 http-headers
我有一个Web应用程序,它使用setRequestHeader API 向XmlHttpRequest对象添加上下文信息.我使用自定义标头名称(例如X-Foo)和JSON结构化值.它不是URL QueryString或POST正文的一部分,因为它是有关请求的元信息.
标头值是否有实际大小限制?如果我的JSON被截断,它就变得无法解析.我最关心的是Apache 2,Tomcat 6和IIS 7中的限制.我在Google上搜索了http标头长度限制,但许多结果似乎过时了.用户代理字符串有多大可以得到一些相关的评论?但不像我想的那样具体.
编辑: 我刚刚遇到这个类似的问题 - 最大的HTTP标头值?
tva*_*son 50
是的,但限制是可配置的并且取决于平台.例如,Tomcat的默认限制为8K.我相信IIS 6,不确定IIS 7,有16K的限制.我在几个网站上使用集成的Windows身份验证时遇到了这个问题.当编码到标头中时,我的安全令牌太大了.幸运的是,这些都是可配置的.可以在http://support.microsoft.com/kb/820129找到IIS的注册表设置.我认为要更改的关键设置是MaxFieldLength(每个标头大小)和MaxRequestBytes(请求的总大小).
Kev*_*son 14
对于Apache,我发现这个Apache安全服务器限制文章列出了这些指令:
# allow up to 100 headers in a request
LimitRequestFields 100
# each header may be up to 8190 bytes long
LimitRequestFieldsize 8190
Run Code Online (Sandbox Code Playgroud)
对于Nginx,来自HttpCoreModule 的large_client_header_buffers指令控制:
请求的最长标题行也必须不超过一个缓冲区的大小,否则客户端会收到错误"错误请求"(400).
默认情况下,一个缓冲区的大小等于页面大小,具体取决于平台4K或8K
| 归档时间: |
|
| 查看次数: |
90792 次 |
| 最近记录: |