首页  >  文章  >  web前端  >  如何用最简洁形象的语言解释什么是HTTP协议中的头域(header)?

如何用最简洁形象的语言解释什么是HTTP协议中的头域(header)?

WBOY
WBOY原创
2016-06-07 08:44:501911浏览

回复内容:

信封、身份证、快递单子都不太确切,因为
  1. 头域中不包括完整的请求地址信息,以本页为例,请求的第一行
    <code class="language-text">GET /question/22477602 HTTP/1.1
    </code>
    个人理解为附加信息。比如 UA,没有这个应用也能跑,但是有了这个服务端就能根据 UA 判断客户端的类型来更好的响应客户端请求了;比如 Host,没有虚拟主机的时候,不要也是可以的,有了以后就能一个 Web 服务器跑多个 Web 应用了;还有些自定义的 HTTP 头信息,用来实现业务功能,比如 RESTful API 设计时,有些人喜欢把版本信息放 HTTP 头中去。 快递时填的单子。
    如里面是什么,有多重。 食品包装盒上的 “配料表” 。 Header可以看作给服务器或客户端的附言

    例如,当客户端向服务器发送一个HTTP请求时,请求一般包含了请求行(Request Line)、头(Header)和体(Body)。请求行包含了请求方法、资源路径和协议版本。请求体不是必须存在的,它包含了客户端发送给服务器的数据。请求头为服务器处理请求提供了额外的信息,例如客户端使用的语言和字符集等。当然如果没有请求头,服务器在大多数情况下也能够很好地处理请求,返回你所期望的结果。所以,请求头是客户端给服务器的附言,帮助服务器更好地处理请求。 理解起来其实很简单,我觉得“配料表”那个比喻相对恰当,我可以补充一下。

    HTTP本身就是一个协议,协议的目的就是为了双方(服务器和客户端)能够相互看懂,相互认知。

    现在把网络传输的HTTP包比作“食品”,厂家有义务告知消费者这个食品究竟是什么,有没有QS质量认证,有没有添加什么防腐剂,是不是转基因blur blur...当然这个厂家不能随便乱写,必须按照一定的格式规范来写,这样的格式在互联网中就叫做“协议”

    甚至于有些厂家会在包装上告诉你该怎么吃,应该冷藏呢还是常温,这里不一一列举。

    好,消费者此时从超市里将“食品”买回家,就可以根据包装上面写的内容来做自己的判断,也会根据厂家建议的做法,来储藏或者处理“食品”。

    很明显这里所说的消费者就是你平时常用的浏览器,所谓厂家,就是你们看不见的服务器。

    在HTTP协议里所谓的Header实际上也就是厂家在食品包装上注明的一切注意事项。


    当然现实生活中的这些产品说明,想必是中文就应该看的懂了,然而在计算机网络领域,所有的键值对参数都是有其相应的规范的,并且十分严谨... 身份证. 张三说的比我的形象

    信封

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn