终、《图解HTTP》读书笔记 - 汇总篇(总结)

简介: 终、《图解HTTP》读书笔记 - 汇总篇(总结)

终、《图解HTTP》读书笔记 - 汇总篇(总结)

引言

又一本网络基础的书啃完了,这本书建议结合[[《网络是怎么样连接的》读书笔记 - 汇总篇]]这一篇读书笔记食用(当然也可以直接看原书)。

把这两本书啃完对于整个互联网的基础脉络有一个大概的认知

在阅读这份汇总笔记之前,我们先从全局看一下大概讲了什么内容。

image.png

介绍

HTTP的好书《HTTP 权威指南》,以及网络编程必看书《TCP/IP 详解,卷 1》都比较难啃。我相信如果一上来就看这两本书,基本没有多少人能坚持,更多的可能是看了几页之后立马丢到一边成为显示器脚垫。

这时候应该选择降级选择更低一档的入门书,也就是这篇读书笔记对应的书籍《图解HTTP》。

这本书的优点是简单了解HTTP的神秘面纱同时,能让你坚持看下不会觉得枯燥,虽然想要成为强者必须要经过上面两本书的磨练,但是在等级不够的时候,更建议好好静心心来看这本书。

看完这本之后,可以再看看《图解TCP/IP》,算是啃黑皮书之前的最后一道内功,这本书对于OSI模型七层架构以及TCP/IP模型进一步阐述。

再次强调,没有网络基础,不要上来先看《TCP/IP 详解》,否则你会感觉在看天书(过来人的经验)。

章节梳理

入门章节(概览整个HTTP,了解HTTP定位)

第一章(掌握):WEB 基础和HTTP的诞生,TCP/IP协议、URL和URI的了解,如果已经很熟悉了可以跳过。

#知识点

  1. 概览HTTP诞生历史。文中提供一个中文翻译网站可以对照阅读。
  2. 扩展:HTTP3.0 都已经出来了,为什么2.0 推进还是只有一半?题外话讨论
  3. TCP/IP 协议概览,了解基本定义。
  4. 区分URL和URI。

重点章节(必看并且消化以及自我复述)

第二章(掌握):HTTP重点特性介绍。了解HTTP协议重点升级内容,理解加记忆为主。读书笔记补充了HTTPS的历史(必看)

#知识点

  1. 请求和响应报文的结构。
  2. HTTP协议进化历史,介绍不同HTTP版本从无到有的重大特性改变。(重点)
  3. HTTP几个比较常见的问题讨论。

第三章(掌握):HTTP报文信息。报文是WEB的核心,需要重点掌握。

#知识点

  1. HTTP 请求报文结构。
  2. 请求报文和主体差异,介绍有关报文和主体相关的一些概念信息。
  3. 内容协商:什么是内容协商?关于内容协商的几种方式。

第七章(掌握):重点是SSL/TLS协议的掌握,细节比较多。

#知识点

  1. HTTPS 是什么?HTTP有哪些缺点?
  2. SSL、TLS为啥总是被放到一起,有什么区别?
  3. SSL、TLS历史背景。
  4. SSL的加密细节,加密算法了解。
  5. SSL的加密流程。

第六章(熟悉):介绍HTTP头部内容。不需要记忆背诵,只需要用到的时候查表即可,此外记住一些常见头部应付面试。

#知识点

  1. HTTP 请求报文结构。
  2. 请求报文和主体差异,介绍有关报文和主体相关的一些概念信息。
  3. 内容协商:什么是内容协商?关于内容协商的几种方式。

非重点章节(知识点模糊则建议仔细阅读)

第四章(熟悉):常见HTTP状态码介绍,虽然同样也不需要记忆,只需要用到的时候查表,但是作为开发人员,常见的一些响应码需要掌握并且注意细节。

#知识点

  1. 状态码定义的IETF协议规范,使用 RFC 7231 作为协议参考。
  2. 常见状态码定义,以及在 RFC 7231 中的协议定义参考
  3. 如何选择合适的状态码,这里仅介绍了 GET/POST/HEAD 三个最常用的状态码定义参考。

第八章(拓展):身份认证方式的扩展阅读。重点熟悉掌握SSL认证,细节很多。(和第七章有重合,书籍编排问题)

#知识点

  1. 身份认证的几种常见方式
  1. BASIC认证(基本认证)
  2. DIGEST认证(摘要认证)
  3. SSL客户端认证
  4. FormBase认证(表单认证)
  1. 重点介绍SSL认证细节,其他认证方式可以不看或者跳过。
  2. Keberos 认证和NTLM 认证,Keberos 认证是大数据身份认证的事实标准,大数据相关领域工作者有必要关注。

选看章节(非重点,大部分可以跳,小部分需了解)

第十一章(了解):RSS介绍,WEB攻击与防护。WEB攻击部分有时候面试会问到,建议了解一下。

#知识点

  1. RSS历史介绍,RSS的存在意义和价值,个人认为很适合自主学习的人使用。
  2. WEB 攻击手段介绍,了解基础和常见的攻击手段,这些攻击手段离我们日常生活并不远。
  3. 关于瓶颈和未来发展是由于写书时效性产生的一些“过时”内容,可以跳过。

第十章(跳过):构建WEB内容:和WEB有关搭配组件概念。也是泛泛而谈。

第九章(跳过):HTTP的瓶颈和未来发展。在写这本书的时候HTTP2.0还没出来,现在HTTP3.0都已经发展了不少了=-=,建议看看读书笔记部分的第二个大章介绍。

第五章(跳过):介绍代理、网关、隧道的大致概念。其实就是介紹了部分互联网架构组件,讲的过于浅并且编排不是很好,建议看《网络是怎么样连接的》,另外自荐一下自己的读书笔记。

附录

虽然标题起名叫“附录”,实际上是个人搜集笔记而已。

附录部分是把之前各个章节参考的各种文章和资料汇总一遍,如果你也想阅读这本书,相信这些内容对你一定有帮助。

历史文章汇总

如果不喜欢又臭又长的文章,建议拆分阅读,体验更佳,本文为汇总实际上就是把这些文章合并到一起阅读。

当然不一定非按我的编排方式,建议根据自己的习惯来看即可。

入门章节

[[《图解HTTP》 - WEB和网络基础]]

重点章节

[[《图解HTTP》- HTTP协议历史发展(重点)]] [[《图解HTTP》- 报文内的 HTTP信息]]

[[《图解HTTP》 - HTTPS]]

[[《图解HTTP》- HTTP协作服务器]]

非重点章节(知识点模糊则建议仔细阅读)

[[《图解HTTP》- 状态码]]

[[《图解HTTP》- 用户身份认证]]

选看章节(非重点,大部分可以跳,小部分需了解)

[[《图解HTTP》- RSS和网络攻击]]

附录

[[《图解HTTP》读书笔记 - 附录]]

附录

虽然标题起名叫“附录”,实际上是个人搜集笔记而已。

附录部分是把之前各个章节参考的各种文章和资料汇总一遍,如果你也想阅读这本书,相信这些内容对你一定有帮助。

image.png

总结

看完这本书收获还算挺大的,有了《网络是怎么样连接的》这本书的基础概念之后,看这本书看的很快,所以更多内容是针对书本的扩展和思考,另外学习过程中也查阅了非常多的资料,这里都放到附录里面了。

相关文章
|
缓存 网络协议 算法
《HTTP权威指南》读书笔记
《HTTP权威指南》读书笔记
|
Web App开发 存储 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
      前段时间公司hadoop集群宕机,发现是namenode磁盘满了, 清理出部分空间后,重启集群时,重启失败。 又发现集群Secondary namenode 服务也恰恰坏掉,导致所有的操作log持续写入edits.new 文件,等集群宕机的时候文件大小已经达到了丧心病狂的70G+..重启集群报错 加载edits文件失败。
922 0
|
Web App开发 前端开发 Android开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
使用MAT分析内存泄露 对于大型服务端应用程序来说,有些内存泄露问题很难在测试阶段发现,此时就需要分析JVM Heap Dump文件来找出问题。
783 0
|
Web App开发 前端开发 Java
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
ZooKeeper 保证了数据的强一致性,  zk集群中任意节点(一个zkServer)上的相同znode下的数据一定是相同的。
804 0
|
Web App开发 前端开发
|
存储 监控 数据库
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
为首次部署MongoDB做好准备:容量计划和监控 作者Mat Keep ,译者孙镜涛如果你已经完成了自己新的MongoDB应用程序的开发,并且现在正准备将它部署进产品中,那么你和你的运营团队需要讨论一些关键的问题: 最佳部署实践是什么? 为了确保应用程序满足它所必须的服务层次我们需要监控哪些关键指标? 如何能够确定添加分片的时机? 有哪些工具可以对数据库进行备份和恢复? 怎样才能安全地访问所有新的实时大数据? 本文介绍了硬件选择、扩展、HA和监控。
2600 0
|
Web App开发 前端开发 测试技术
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
http_load用以测试web服务器的吞吐量与负载。但是它不同于大多数压力测试工具, 它可以以一个单一的进程运行,一般不会把客户机搞死。
751 0