前言

作者说:上一节中介绍了HTTP报文中的状态码,这一节同样是对报文的补充,介绍的是HTTP首部字段。不过,你如果是第一次见到这个东西,肯定会特别疑惑,什么是HTTP首部?

《图解HTTP》中的描述是这样的:首部内容为客户端和服务器分别处理请求和响应提供所需要的信息

好吧,这样说其实我也不是很明白。那么我们来换一种理解方式。这一节,你将会非常愉快的了解到,究竟什么是HTTP首部,这货又是起到了什么样子的作用。

HTTP报文结构

我们还是要从HTTP报文的结构开始说起,通过前面的学习,你肯定已经知道了,HTTP报文共分为三个部分,报文首部,一个空行来作为分割,最后一个就是报文主体。

你肯定知道这个道理,自古排在第一位的都是非常NB的。报文首部自然也不会例外。报文主体传递的是用户发送给服务器的数据以及服务器返回的数据信息(图片、HTML、音频、视频等),而报文首部会对主体没有的内容进行补充。

那么,究竟补充了一些什么东西呢?

报文首部的内容

其实报文首部并不是独立的,其中包含许多的内容。

  • 请求行
  • 首部字段
  • 其他

    以上就是报文首部包括的内容。

    你肯定又产生了新的疑问,不要着急,让我来慢慢介绍给你。

    请求行中包括的内容无外乎方法:POST还是GET,请求或者返回的URI,HTTP版本(一般都是1.1)。请求行的内容大致上就这么多。重点在于HTTP首部字段。

HTTP首部字段

HTTP 首部字段是构成 HTTP 报文的要素之一,使用首部字段是为了给浏览器和服务器提供报文主体大小、所使用的语言、认证信息等内容。

比如说,当你访问某个国外的网站,你英语又不好,你当然希望返回的网站能够是中文,所以,首部字段会标示出中文zh编码。如果服务器中存在中文版的网站,那么就会返回中文网站,如果没有的话,只能是继续使用英文的网站。很不巧的是,大多数程序员需要的网站都是英文的,所以英语对于程序员是很重要的。不过不要害怕,其实英文网站也就是那样,我们读读还是能够看懂的,不要被那么多的英文吓到。

  • 表示方法

    HTTP 首部字段是由首部字段名和字段值构成的,中间用冒号“:”分隔。
首部字段名: 字段值
  • 首部字段的分类
通用首部字段
请求首部字段
响应首部字段
实体首部字段

下面就来详细的介绍一下这几种不同的首部字段。

通用首部字段

所谓的通用首部字段,就是无论是请求还是响应都需要用到的首部字段。

请求首部字段

请求首部字段是从客户端往服务器端发送请求报文中所使用的字段,用于补充请求的附加信息、客户端信息、对响应内容相关的优先级等内容。

响应首部字段

响应首部字段是由服务器端向客户端返回响应报文中所使用的字段,

用于补充响应的附加信息、服务器信息,以及对客户端的附加要求等

信息。

实体首部字段

实体首部字段是包含在请求报文和响应报文中的实体部分所使用的首部,用于补充内容的更新时间等与实体相关的信息。

Set-Cookie字段

这个字段适用于设置Cookie,建立持久化连接使用。

实体首部字段是包含在请求报文和响应报文中的实体部分所使用的首

部,用于补充内容的更新时间等与实体相关的信息。



部分内容参考:《图解HTTP》

结语

感谢您的阅读,欢迎指正博客中存在的问题,也可以跟我联系,一起进步,一起交流!

微信公众号:进击的程序狗

邮箱:roobtyan@outlook.com

个人博客:http://roobtyan.cn

如果喜欢我的文章,那么就扫描下面的二维码关注我吧

最新文章

  1. java 的持久化和序列化的简单理解
  2. linux 开机自添加路由
  3. iOS阶段学习第18天笔记(Plist-Archiver-归档与解归档操作)
  4. cocospods的安装与应用
  5. Mysql-函数coalesce-查询为空设置默认值
  6. 无法找到脚本*.VBS的脚本引擎解决办法
  7. 注意map<> 的[]
  8. android 根据SD卡中图片路径读取并显示SD中的图片——源代码
  9. 腾讯QQ表情为什么如此成功呢
  10. echo json数据给ajax后, 需要加上exit,防止往下执行,带上其他数据,到时ajax失败
  11. docker入门【1】
  12. numpy.random 常用函数详解之排列乱序篇(Permutations)
  13. WCF基础二
  14. Configuring SSL for SAP Host Agent on UNIX
  15. [bzoj1563][诗人小g]
  16. DBeaver连接MySQL 8.0显示"Unable to load authentication plugin 'caching_sha2_password'."错误的问题
  17. xmlhttprequest 1.0和2.0的区别,from qq前端哥
  18. 分布式监控系统Zabbix--完整安装记录 -添加apache监控
  19. [No0000116]SQLServer启用sa账户
  20. IK分词器的使用

热门文章

  1. express - 快速构建项目
  2. bzoj 1138: [POI2009]Baj 最短回文路
  3. 99乘法表(for循环嵌套)
  4. linux安装postgresql数据库
  5. 吴裕雄--天生自然java开发常用类库学习笔记:StringBuffer
  6. (三)微信小程序配置
  7. 记录:JAVA抽象类、接口、多态
  8. Java多线程的应用
  9. E. Third-Party Software - 2 贪心----最小区间覆盖
  10. 基础语法-循环结构do...while