基本认识
http的首部是http报文的一个非常重要的组成部分,客户端和服务端会根据报文的首部字段来做出一些相应行为
有时候我们可以在首部添加一些额外的信息给服务端(例如客户端证书的相关信息…)
而首部字段的组成方式就是
首部字段名:字段值1,字段值2,字段值3
// Content-Type:text/html
// 这个首部字段的意思是客户端希望范围的响应内容类型是text/html
// Keep-alive:timeout=15,max=100
// 超过15s客户端没有响应就断开链接
而根据作用和使用的报文对象不同可以分为以下几种首部字段
-
请求首部字段(针对于请求报文)
-
响应首部字段(针对于响应报文)
-
通用首部字段(请求报文和响应报文都会用到的)
-
实体首部字段
该首部字段的存在是对实体主体资源的一些额外说明,例如该实体主体什么时候会失效 我们可以在这类字段添加我们对于我们要返回内容的信息的一些额外说明
而在我们的实际过程中,我们客户端到服务端的报文有时候是需要经过代理的。而由于这个原来代理服务器就需要考虑究竟是哪些字段是需要反代理发送过去的,哪些字段是仅仅服务端一次接收报文该字段就废弃
因此,首部字段又可以分为以下两种
- 端到端首部字段(会被代理服务器转发过去)
- 逐跳首部字段(不会被代理服务器转发过去)
而除了以下8个字段之外,其他字段都属于端到端首部字段
1. Connectiom
2. Keep-Alive
3. Proxy-Authenticate
4. Proxy-Authorization
5. Trailer
6. TE
7. Transfer-Encoding
8. Upgrade