头部——MimeHeaders

简介: http协议的请求头部更像一个键值对,例如Content-Length : 123,前面为键后面为值,表示文本长度为123。对于若干个头部在请求对象中被封装成MimeHeaders对象,MimeHeaders对象里面包含了一个链表结构用于存放头部名和头部值。

http协议的请求头部更像一个键值对,例如Content-Length : 123,前面为键后面为值,表示文本长度为123。对于若干个头部在请求对象中被封装成MimeHeaders对象,MimeHeaders对象里面包含了一个链表结构用于存放头部名和头部值。如下图上,每个MimeHeaderField对象指向其前驱节点对象,同时也指向其后继节点对象,采用这种双向链表结构有利于快速搜索,另外也有助于JVM垃圾回收器回收。但奇怪的是,虽然设计成双向链表结构,但实际上并没有使用,即没有建立prev、next关联而仅仅是使用一个数组结构MimeHeaderField[],如下图下方的图片所示,关于这点不知tomcat开发人员作何考虑,不过不必过于纠结,结构的不同只是遍历的方式不同,主要结构是相同的,即以MimeHeaderField作为一个单位,它代表一个头部,其中包含的name、value分别用于保存头部的键值对。




点击订购作者《Tomcat内核设计剖析》



目录
相关文章
|
4月前
|
前端开发 JavaScript 搜索推荐
头部
头部
24 4
|
4月前
RTP头部封装的实现
RTP头部封装的实现
61 0
|
前端开发 JavaScript
ionic 头部内容 尾部
ionic 头部内容 尾部
31 0
|
PHP
php常用的header头部定义
php常用的header头部定义
88 0
|
缓存 安全 前端开发
ADI
|
前端开发
[记录] CSS布局-绝对尾部
[记录] CSS布局-绝对尾部
ADI
91 0
|
人工智能 算法
OpenGL ES 实现头部形变和头部晃动效果
小姐姐说,我头都被你气大了,怎么办?
227 0
OpenGL ES 实现头部形变和头部晃动效果