tomcat 默认对header的个数做了限制,通过maxHeaderCount 参数设置,默认
maxHeaderCount = 100
parseHeaders 是循环解析所有的header name 和value 对,并添加到
MimeHeaders 的headers 数组中,headers 数组的大小是maxHeaderCount,也就是100,
读到':' 时,就添加一个header 并返回value的引用,后面value 解析完后,直接设置headerData.headerValue 即可,headers.addValue() 会判断大小是否超过maxHeaderCount,如超过,则抛 headers.maxCountFail 错误。
headers 里存放的是MimeHeaderField,代表一个header,MimeHeaderField 有两个MessageBytes 类型的nameB和valueB,分别表示header name 和 header value
MessageBytes 只是对上篇讲到的httpinputbuffer的引用,并记录偏移量和长度。这样所有的header name 和value 都引用了tomcat input buffer,只是每一个的offset 和length 不一样而已。
Write own code to set HTTP header is a possible way. If you don't wantto write some code, you can add content.xml file into the special
directory.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)