前言

为啥第一章直接跳到第六章呢,因为...博主当初看书的时候挑着看..只看了第一章和第六章┗( ▔, ▔ )┛

HTTP图解对于不熟悉HTTP的小伙伴来说是很好的书籍,建议入手!

一、 HTTP报文首部

图 HTTP报文的结构

图 请求报文

图 响应报文

二、HTTP首部字段

1. 结构

首部字段名:字段值(一个首部字段可有多个字段值)

2. 通用首部字段

2.1 Cache-Control

  • public:其他用户也可利用缓存
  • private:只有当前用户可利用缓存
  • no-cache:防止从缓存中返回过期的资源
  • no-store:不进行缓存(通常请求或响应中包含机密信息,如登录接口)
  • max-age:当缓存资源的缓存时间 < max-age时,可直接使用缓存资源;
  • 当缓存资源的缓存时间 >= max-age时,缓存资源已过期;
  • 当max-age = 0,缓存服务器需要将请求转发给源服务器。
  • s-maxage:功能与 max-age 相同,但只适用于供多位用户使用的公共缓存服务器;当使用 s-maxage指令后,直接忽略 Expires 和 max-age
  • must-revalidate:代理会向源服务器再次验证即将返回的响应缓存目前是否仍然有效

2.2 Connection

  • Connection:不再转发的首部字段名(把这个删除后再转发喔~)
  • Connection:close(当服务器想明确断开连接时,则指定Connection的值为Close)
  • Connection:Keep-Alive(HTTP/1.1版本开始默认连接都是持久连接)

2.3 Date:创建HTTP报文的日期和时间

3. 请求首部字段

3.1 Accept

客户端能够处理的媒体类型及媒体类型的相对优先级(q=权重值,取0~1,1为最大值)

3.2 Accept-Charset

客户端支持的字符集

3.3 Accept-Encoding

客户端支持的内容编码(压缩)

3.4 Authorization

客户端的用来告知服务器的认证信息(证书值)

3.5 Host

请求的资源服务器的主机名(域名/IP)+端口,如www.poloyy.site:8080

3.6 Referer

告知服务器请求的原始资源的URI

3.7 User-Agent

将浏览器信息和客户端名称等信息传达给服务器

4. 响应首部字段

5. 实体首部字段

6. End-to-End 首部和 Hop-by-Hop首部

  • 端到端首部(End-to-End Header)
  • 逐跳首部(Hop-by-Hop Header)

HTTP图解笔记(六)—— 第6章 HTTP首部的更多相关文章

  1. 《深入理解java虚拟机》读书笔记六——第七章

    第七章 虚拟机类加载机制 1.类加载的时机 虚拟机的类加载机制: 虚拟机把描述类的数据从class文件中加载到内存,并对数据进行校验.转换解析和初始化,最终形成了可以被虚拟机直接使用的Java类型,这 ...

  2. 程序员编程艺术第三十六~三十七章、搜索智能提示suggestion,附近点搜索

    第三十六~三十七章.搜索智能提示suggestion,附近地点搜索 作者:July.致谢:caopengcs.胡果果.时间:二零一三年九月七日. 题记 写博的近三年,整理了太多太多的笔试面试题,如微软 ...

  3. java之jvm学习笔记六-十二(实践写自己的安全管理器)(jar包的代码认证和签名) (实践对jar包的代码签名) (策略文件)(策略和保护域) (访问控制器) (访问控制器的栈校验机制) (jvm基本结构)

    java之jvm学习笔记六(实践写自己的安全管理器) 安全管理器SecurityManager里设计的内容实在是非常的庞大,它的核心方法就是checkPerssiom这个方法里又调用 AccessCo ...

  4. Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第四章:Direct 3D初始化

    原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第四章:Direct 3D初始化 学习目标 对Direct 3D编程在 ...

  5. 《MFC游戏开发》笔记六 图像双缓冲技术:实现一个流畅的动画

    本系列文章由七十一雾央编写,转载请注明出处.  http://blog.csdn.net/u011371356/article/details/9334121 作者:七十一雾央 新浪微博:http:/ ...

  6. 《深入Java虚拟机学习笔记》- 第19章 方法的调用与返回

    <深入Java虚拟机学习笔记>- 第19章 方法的调用与返回

  7. 《深入Java虚拟机学习笔记》- 第16章 控制流

    <深入Java虚拟机学习笔记>- 第16章 控制流

  8. 《深入Java虚拟机学习笔记》- 第17章 异常

    <深入Java虚拟机学习笔记>- 第17章 异常

  9. 《深入Java虚拟机学习笔记》- 第13章 逻辑运算

    <深入Java虚拟机学习笔记>- 第13章 浮点运算

  10. 《深入Java虚拟机学习笔记》- 第14章 浮点运算

    <深入Java虚拟机学习笔记>- 第13章 浮点运算

随机推荐

  1. linux设备驱动文件结构

    struct file, 定义于 <linux/fs.h>, 是设备驱动中第二个最重要的数据结构. 注意 file 与用户空间程序的 FILE 指针没有任何关系. 一个 FILE 定义在 ...

  2. 【js】vue 2.5.1 源码学习 (三) Vue.extend 和 data的合并策略

    大体思路 (三)  1. 子类父类  2.Vue.extend()      //创建vue的子类 组件的语法器 Vue.extend(options) Profile().$mount('#app' ...

  3. The call() and apply() Mtheods

    Example 6-4function classof(o) {     if (o === null) return "Null";     if (o ===undefined ...

  4. jquery自己写的幻灯片插件,好用不解释

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. 【41.34%】【BZOJ 1003】[ZJOI2006]物流运输

    Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 6420  Solved: 2654 [Submit][Status][Discuss] Descri ...

  6. Python之end关键字使用

    关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下: a, b = 0, 1 while b < 1000: print(b, end=',') a, b = b, ...

  7. pytorch代码调试工具

    https://github.com/zasdfgbnm/TorchSnooper pip install torchsnooper 在函数前加装饰器@torchsnooper.snoop()

  8. python知识点总结02(不定时更新)

    请用至少两种方式实现m与n值交换m=10,n=5 # 方式一 temp = 0 m = 10 n = 5 print(f'方式一交换前,m:{},n:{}') temp = m m = n n = t ...

  9. windows7下mysql8.0.18部署安装

    一.前期准备(windows7+mysql-8.0.18-winx64) 1.下载地址:https://dev.mysql.com/downloads/ 2.选择直接下载不登录账号,下载的压缩包大概两 ...

  10. maven安装与常用命令

    maven安装: 下载地址http://maven.apache.org/download.cgi 1.安装好Java,配置好Java的环境变量(JDK) 2.下载apache-maven-3.5.2 ...