Home  >  Article  >  Web Front-end  >  如何用最简洁形象的语言解释什么是HTTP协议中的头域(header)?

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

WBOY
WBOYOriginal
2016-06-07 08:44:501912browse

回复内容:

信封、身份证、快递单子都不太确切,因为
  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实际上也就是厂家在食品包装上注明的一切注意事项。


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

    信封

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn