前言

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

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. 关于Spring JavaWeb工程中的ContextRefreshedEvent事件

    在应用启动时,通常想在此时预加载一些资源,全局使用. Spring会在操作应用上下文时,使用ApplicationEventPublisher触发相关ApplicationContextEvent,我 ...

  2. js粘贴图片并显示

    var fromDa; $(function(){ document.getElementById('app').addEventListener('paste', function(e) { if( ...

  3. mysql 添加索引,ALTER TABLE和CREATE INDEX的区别

    nvicat-->mysql表设计-->创建索引. (1)使用ALTER TABLE语句创建索引,其中包括普通索引.UNIQUE索引和PRIMARY KEY索引3种创建索引的格式: PRI ...

  4. Linux 内核接口

    USB 端点被绑在接口中. USB 接口只处理一类 USB 逻辑连接, 例如一个鼠标, 一个键盘, 或者一个音频流. 一些 USB 设备有多个接口, 例如一个 USB 扬声器可能有 2 个接口: 一个 ...

  5. 企业级Docker私有仓库Harbor

    一.Harbor简介 1.Harbor介绍 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全.标识和管理等,扩展了开源Docke ...

  6. Python进程池使用

    from multiprocessing import Pool from time import sleep def Foo(i): sleep(1) print(i) if __name__ == ...

  7. 什么?我往Redis写的数据怎么没了?

    大概是因为int没有因为change方法而改变原值,所以就说它传过去的是自身的值,因而叫值传递:User对象经过change方法后,对象的数据变了,就认为是因为实参和形参指向的是同一片内存空间,内存空 ...

  8. go微服务框架kratos学习笔记五(kratos 配置中心 paladin config sdk [断剑重铸之日,骑士归来之时])

    目录 go微服务框架kratos学习笔记五(kratos 配置中心 paladin config sdk [断剑重铸之日,骑士归来之时]) 静态配置 flag注入 在线热加载配置 远程配置中心 go微 ...

  9. CodeForces 1182D

    图论的思维题,太秀了,网上答案也不多,我就也来bb吧 总之47个样例姑且是过了,不知道还有没有反例: 会求树的重心和中心了,挺好 #include<cstdio> #include< ...

  10. ELK学习实验010:Logstash简介

    Logstash是具有实时流水线功能的开源数据收集引擎.Logstash可以动态统一来自不同来源的数据,并将数据规范化为您选择的目标.清除所有数据并使其民主化,以用于各种高级下游分析和可视化用例. 虽 ...