怎样用最简洁形象的语言解释啥是HTTP协议中的头域(header)

信封、身份证、快递单子都不太确切,因为头域中不包括完整的请求地址信息,以本页为例,请求的第一行GET /question/22477602 HTTP/1.1就不属于头域;和信封不同,头域也不包含“回信地址”;头域传递的信息不仅仅是对内容的描述,还可以影响Server/Client的行为,如Cache/Accept/Location等等。回题主,用简洁的词来形容头域,我觉得可以是控制信息,与Message Body 作为内容信息对应。
■网友
Header可以看作给服务器或客户端的附言。例如,当客户端向服务器发送一个HTTP请求时,请求一般包含了请求行(Request Line)、头(Header)和体(Body)。请求行包含了请求方法、资源路径和协议版本。请求体不是必须存在的,它包含了客户端发送给服务器的数据。请求头为服务器处理请求提供了额外的信息,例如客户端使用的语言和字符集等。当然如果没有请求头,服务器在大多数情况下也能够很好地处理请求,返回你所期望的结果。所以,请求头是客户端给服务器的附言,帮助服务器更好地处理请求。
■网友
理解起来其实很简单,我觉得“配料表”那个比喻相对恰当,我可以补充一下。HTTP本身就是一个协议,协议的目的就是为了双方(服务器和客户端)能够相互看懂,相互认知。现在把网络传输的HTTP包比作“食品”,厂家有义务告知消费者这个食品究竟是什么,有没有QS质量认证,有没有添加什么防腐剂,是不是转基因blur blur...当然这个厂家不能随便乱写,必须按照一定的格式规范来写,这样的格式在互联网中就叫做“协议”。甚至于有些厂家会在包装上告诉你该怎么吃,应该冷藏呢还是常温,这里不一一列举。好,消费者此时从超市里将“食品”买回家,就可以根据包装上面写的内容来做自己的判断,也会根据厂家建议的做法,来储藏或者处理“食品”。很明显这里所说的消费者就是你平时常用的浏览器,所谓厂家,就是你们看不见的服务器。在HTTP协议里所谓的Header实际上也就是厂家在食品包装上注明的一切注意事项。当然现实生活中的这些产品说明,想必是中文就应该看的懂了,然而在计算机网络领域,所有的键值对参数都是有其相应的规范的,并且十分严谨...
■网友
【怎样用最简洁形象的语言解释啥是HTTP协议中的头域(header)】 信封

■网友
食品包装盒上的 “配料表” 。
■网友
快递时填的单子。如里面是什么,有多重。
■网友
身份证. 张三说的比我的形象
■网友
个人理解为附加信息。比如 UA,没有这个应用也能跑,但是有了这个服务端就能根据 UA 判断客户端的类型来更好的响应客户端请求了;比如 Host,没有虚拟主机的时候,不要也是可以的,有了以后就能一个 Web 服务器跑多个 Web 应用了;还有些自定义的 HTTP 头信息,用来实现业务功能,比如 RESTful API 设计时,有些人喜欢把版本信息放 HTTP 头中去。


    推荐阅读