首部和方法配合工作共同决定了客户端和服务器能做些什么事情. 首部可以出现在请求和响应报文中,大致来分的话,可以分为那么5种:

  • 通用首部: request和response报文都可以使用的首部. 比如 Date 首部
  • 请求首部:request报文特有的,为服务器提供一些额外的信息. 比如accept首部
  • 响应首部:response报文特有的,为客户端提供信息.
  • 实体首部:用于对应实体主体部分的首部,比如用来说明主体部分数据类型的 Content-Type.
  • 扩展首部:非HTTP协议规定的首部,由开发者自己创建的. 即使不知道这些首部的含义,HTTP程序也要接受它们并进行转发.

通用首部

首部 描述
Connection 允许客户端和服务器指定与resquest/response连接有关的选项
Date 提供日期和时间标志,说明报文是什么时候创建的
MIME-Version 发送端使用的MIME版本
Trailer 如果报文采用了分块传输编码的方式,就可以用这个首部列出位于报文拖挂部分的首部的集合
transfer-Encoding 告知接收端为了保证报文的可靠传输,对报文采用了什么编码方式
Update 给出了发送端可能想要”升级”使用的新版本或协议
via 报文经过的中间结点
Cache-Control 用于随报文传送缓存指示
Pragma 另一种随报文传送指示的方式,但并不专用于缓存

请求首部

请求首部,顾名思义,只出现在请求报文中的首部,用于说明关于请求者的一些哲学思考…比如,我是谁(表明请求身份),我从哪里来(表明请求出处),我会干什么(客户端能力),我喜欢什么(客户端喜好)

关于客户端的信息性首部

其实之前我还真不知道,HTTP可以提供那么多信息. 其中最常用的是User-Agent首部.

Accept首部

Accept首部为客户端提供了一种将其喜好和能力告知服务器的方式,包括,它们想要什么,可以使用什么,以及它们不想要什么.

(突然情不自禁的哼起,你还要我怎样,要怎样,话说薛之谦这首歌写的真好,你突然来的短信就够我悲伤/我没能力遗忘 你不用提醒我/哪怕结局就这样/我还能怎样 能怎样)

条件请求首部

有时候客户端希望为请求添加上某些限制,比如,在请求一个文档的时候,就希望只在服务器上的文档和客户端之前的有区别时再请求. 这时候就可以使用这些首部了.

安全请求首部

HTTP支持一种简单的安全机制,简单来说就是 质询/响应认证. 也就是要求客户端在请求特定资源之前证明我就是我,是不一样的烟火. 所以这时候就需要一些安全相关的头部.

代理相关的首部

响应首部

响应报文的信息性首部

协商首部

安全响应首部

跟安全请求首部是对应的

实体首部

用来描述报文负荷的首部.
比如实体的信息性首部:

内容首部

提供与实体内容有关的特定信息,说明类型,尺寸,及处理它所需的其他有用信息.

实体缓存首部

缓存首部说明了关于缓存的
how 或者when

HTTP学习笔记05-首部的更多相关文章

  1. 机器学习实战(Machine Learning in Action)学习笔记————05.Logistic回归

    机器学习实战(Machine Learning in Action)学习笔记————05.Logistic回归 关键字:Logistic回归.python.源码解析.测试作者:米仓山下时间:2018- ...

  2. C++ GUI Qt4学习笔记05

    C++ GUI Qt4学习笔记05   qtc++正则表达式 QIntValidator           --  只让用户输入整数 QDoubleValidator     --  只让用户输入浮 ...

  3. [Golang学习笔记] 05 程序实体2 作用域访问权限和变量重声明

    作用域访问权限: 程序实体访问权限(作用域)有三种:1. 包级私有(代码包)2. 模块级私有(代码包)3. 公开(全域). 一个函数是一个代码块.一个程序实体的作用域总是会被限制在某个代码块中.好处: ...

  4. stm32寄存器版学习笔记05 PWM

    STM32除TIM6和TIM7外都可以产生PWM输出.高级定时器TIM1和TIM8可以同时产生7路PWM,通用定时器可以产生4路PWM输出. 1.TIM1 CH1输出PWM配置步骤 ①开启TIM1时钟 ...

  5. [原创]java WEB学习笔记05:Servlet中的ServletConfig对象

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  6. Bash脚本编程学习笔记05:用户交互与脚本调试

    用户交互 在<学习笔记04>中我们有提到位置参数,位置参数是用来向脚本传递参数的一种方式.还有一种方式,是read命令. [root@c7-server ~]# read name alo ...

  7. xml基础学习笔记05

    Xpath快速解析 如题一样,本篇主要说说Xpath快速查找XML文档   * Xpatn.Xquery,是专门用来查询xml的语言   * 查询xml非常快   Xpatn.Xquery,是专门用来 ...

  8. Linux学习笔记05之网络基础知识

    一.OSI参考模型:适用于所有网络,现有模型,后有协议 1.应用层:应用程序.用户接口 2.表示层:编码转换.压缩.解压.加密等 3.会话层:建立.维护.拆除会话 4.传输层规定了应用程序的的接口 协 ...

  9. AMQ学习笔记 - 05. 客户端模板化

    概述 客户端编程模型中,大部分的步骤都是相同的.将相同的部分做成模板,将不同的部分预留接口,实现者就只需要针对不同的部分提供实现. 设计 类图 发送方客户端 说明: 基于模板的思想,SendTempl ...

  10. OpenCV 学习笔记 05 人脸检测和识别 AttributeError: module 'cv2' has no attribute 'face'

    1 环境设置: win10 python 3.6.8 opencv 4.0.1 2 尝试的方法 在学习人脸识别中,遇到了没有 cv2 中没有 face 属性.在网上找了几个方法,均没有成功解决掉该问题 ...

随机推荐

  1. 关于Python的Object继承

    今天在Coding的使用,使用了python的单例模式,发现了一个很有趣的问题. class x(object): __se = None a = None def __new__(cls): if ...

  2. java 提取数据

    import java.util.regex.Matcher; import java.util.regex.Pattern; public class TextNested { public sta ...

  3. [前端开发] 8 个很有用的免费CSS的UI工具箱

    搞web开发的不能不提到前端,下面就和大家分享下8个很有用的免费CSS的UI工具箱 1) UI CSS ui.css 是一个用来创建简洁的 Web 用户界面的工具,下载的文件只包含一个 css 文件. ...

  4. python django -6 常用的第三方包或工具

    常用的第三方包或工具 富文本编辑器 缓存 全文检索 celery 布署 富文本编辑器 借助富文本编辑器,管理员能够编辑出来一个包含html的页面,从而页面的显示效果,可以由管理员定义,而不用完全依赖于 ...

  5. oracle em手动配置

    转载自:http://www.cnblogs.com/sopost/archive/2010/08/14/2190098.html 用emca配置em emca是一个命令提示符,使用格式和方法在命令提 ...

  6. SlidingMenu官方实例分析7——SlidingContent和SlidingTitleBar区别

    包含ActionBar:setSlidingActionBarEnabled(true); 效果图: 不包含ActionBar:setSlidingActionBarEnabled(false); 效 ...

  7. webpack添加node_path不是('webpack' 不是内部或外部命令,也不是可运行的程序或批处理文件?)

    安装webpack 先决条件 开始之前,请确保安装了新的Node.js版本.目前的LTS是理想的起点.您可能会遇到与旧版本的各种问题,因为它们可能缺少webpack或相关软件包可能需要的功能. 请注意 ...

  8. LeetCode Problem 169: Majority Element查找多数元素

    描述:Given an array of size n, find the majority element. The majority element is the element that app ...

  9. 【BZOJ1925】[Sdoi2010]地精部落 组合数+DP

    [BZOJ1925][Sdoi2010]地精部落 Description 传说很久以前,大地上居住着一种神秘的生物:地精. 地精喜欢住在连绵不绝的山脉中.具体地说,一座长度为 N 的山脉 H可分 为从 ...

  10. 查看虚拟机里的Centos7的IP(四)

    这里之所以是查看下IP ,是我们后面要建一个Centos远程工具Xshell 连接Centos的时候,需要IP地址,所以我们这里先 学会查看虚拟机里的Centos7的IP地址 首先我们登录操作系统 用 ...