终、《图解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

总结

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

相关文章
|
8月前
|
缓存 网络协议 算法
《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
系统的升级涉及各个架构组件,细节很多。常年累月的修修补补使老系统积累了很多问题。 系统升级则意味着需要repair之前埋下的雷,那为何还要升级,可以考虑以下几个方面 成熟老系统常见问题: 1. 缺乏文档(这应该是大小公司都存在的问题。
593 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
                                                                               1.
1627 0
|
存储 监控 数据库
<!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和监控。
2558 0
|
Web App开发 前端开发 Java
|
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
 Connection reset by peer的常见原因: 1)服务器的并发连接数超过了其承载量,服务器会将其中一些连接关闭;    如果知道实际连接服务器的并发客户数没有超过服务器的承载量,看下有没有网络流量异常。
830 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
NoSuchObjectException(message:There is no database named cloudera_manager_metastore_canary_test_db_hive_hivemetastore_df61080e04cd7eb36c4336f71b5a8bc4) at org.
1049 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
mysql修改表、字段、库的字符集 修改数据库字符集: ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE .
677 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
import java.util.LinkedHashMap;import java.util.Map; /** * LRU (Least Recently Used)  */public class LRUCache e...
611 0