前言

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

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. SourceYard 制作源代码包

    本文带大家走进SourceYard开发之旅 在项目开发中,将一个大的项目拆为多个小项目解耦,减少模块之间的耦合.因为如果将代码放在一起,即使有团队的约束,但只要能写出的代码就会有小伙伴写出,很快就发现 ...

  2. 【75.28%】【codeforces 764B】Decoding

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...

  3. codeforces gym100801 Problem J. Journey to the “The World’s Start”

    传送门:https://codeforces.com/gym/100801 题意: 小明坐地铁,现在有n-1种类型的地铁卡卖,现在小明需要买一种地铁票,使得他可以在t的时间内到达终点站,地铁票的属性为 ...

  4. 【Docker】镜像分层存储与镜像精简

    Linux操作系统 Linux操作系统由内核空间和用户空间组成. 内核空间是kernel,用户空间是rootfs, 不同Linux发行版的区别主要是rootfs.比如 Ubuntu 14.04 使用 ...

  5. 苹果笔记本修改pycharm for mac 修改字体大小

    实在是隐藏的太深了,无语

  6. 010.MFC_Progress

    一.建立名为processCtrl的MFC工程,添加Progress Control 和 button控件.修改button Caption属性为start,ID属性为IDC_BTN_START 为进 ...

  7. 理解C/C++的复杂声明

      理解C/C++的复杂声明        曾经碰到过让你迷惑不解.类似于int * (* (*fp1) (int) ) [10];这样的变量声明吗?本文将由易到难,一步一步教会你如何理解这种复C/C ...

  8. 彩票历史记录分析工具 -- 通过实例学习wpf开发

    前言 虽然本人对彩票不感兴趣,仍然有不少人对此情有独钟.他们花大量时间精力去分析彩票的历史记录,企图发现规律,为下一次投注做指导,希望“赢的“”概率增大.不管研究历史记录是否有意义,我用软件实现了对彩 ...

  9. Python深层拷贝

    import copy new_instance = copy.deepcopy(instance)

  10. 分布式全局唯一ID生成策略

    为什么分布式系统需要用到ID生成系统 在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识.如在美团点评的金融.支付.餐饮.酒店.猫眼电影等产品的系统中,数据日渐增长,对数据库的分库分表后需要有 ...