《图解HTTP》读后总结

阅读时间:2019.10.30-2019.11.6

阅读心得

从知乎上看到有人推荐这本书,本身对计算机网络方面学习的比较少,于是就买来这本书开始看。这本书总体看下来比较轻松,因为书中的插画非常卡通,而且因为整本书都是在围绕HTTP进行讲解,所以内容上不会设计太多其他深奥的知识。读完之后,我对HTTP有了一个基本的认识,从以前只知道它是一个协议,到现在能够搞清楚这个协议内部的结构、返回的状态码等等,这都得益于这本小巧但又细致的书。也希望感兴趣的伙伴可以去读一读这本书呀!

阅读总结

【这本书一共有十一章,每一章都根据侧重点的不同展开介绍。在这里我将本书的章节框架展开,并根据自己读完的理解给每个部分做个小结,也方便自己日后复习。】

第一章:了解Web即网络基础

  • 1.1 使用HTTP协议访问Web(什么是HTTP?什么是客户端、服务器端?)
  • 1.2 HTTP的诞生(诞生原因:知识共享;WWW(即Web)构建技术:HTML、HTTP、URL)
  • 1.3 网络基础TCP/IP

(HTTP是TCP/IP内部的一个子集;TCP/IP的传输流?发送端从应用层往下走,每通过一层增加首部,接收端从链路层往上走,每通过一层删除首部)

TCP/IP分层如下表所示:

应用层 各类应用服务,比如FTP(文件传输协议)、DNS(域名系统)
传输层 将计算机之间的数据进行分割、传输;TCP(传输控制协议)、UDP(用户数据报协议)
网络层 处理在网络上流动的数据包,在众多的选项内选择一条传输路线;数据包是网络传输的最小数据单位
链路层 处理连接网络的硬件部分,包括控制操作系统、硬件的设备驱动、NIC(网络适配器,即网卡)、光纤等物理可见部分
  • 1.4 与HTTP关系密切的协议:IP\TCP和DNS

(IP网际协议:网络层;IP地址可变换,MAC地址基本不会变;ARP协议:根据IP地址反查MAC地址;IP间的通信依赖MAC地址来搜索下一个中转目标)

(TCP协议:传输层;字节流服务:大数据分割成报文段单位的数据包;三次握手:SYN标志、SYN/ACK标志、ACK标志)

(DNS服务:应用层(HTTP协议也在应用层);域名与IP地址之间(双向查找)的解析服务)

  • 1.5 负责域名解析的DNS服务(见上1.4)
  • 1.6 各种协议与HTTP协议的关系

(客户端输入网址,DNS解析对应的IP地址,HTTP生成请求报文,TCP分割成报文段,IP边中转边发送,TCP接收报文段并重组,HTTP处理请求内容)

  • 1.7 URI和URL

(URI:统一资源标识符,URL:统一资源定位符,URL是URI的子集)

绝对URI的格式:

http:// user:[email protected] www.example.jp: 80 /dir/index.htm? uid=1# ch1
协议方案名 登录信息(认证) 服务器地址 服务器端口号 带层次的文件路径 查询字符串 片段标识符

第二章:简单的HTTP协议

  • 2.1 HTTP协议用于客户端和服务器端之间的通信(客户端?服务器端?)
  • 2.2 通过请求和响应的交换达成通信(请求报文和响应报文的组成?)
  • 2.3 HTTP是不保存状态的协议(发送过的请求和响应都不保存状态--引进了Cookie技术来保持状态)
  • 2.4 请求URI定位资源(如果对服务器本身发起请求,可用一个*来代替请求URI)
  • 2.5 告知服务器意图的HTTP方法
GET 获取资源
POST 传输实体主体
PUT 传输文件
HEAD 获得报文首部
DELETE 删除文件
OPTIONS 询问支持的方法
TRACE 追踪路径
CONNECT 要求用隧道协议连接代理
  • 2.6 使用方法下达命令(见上2.5)
  • 2.7 持久连接节省通信量(持久连接:任意一端没有明确提出断开连接,则保持TCP连接状态;管线化:不用等待响应亦可直接发送下一个请求)
  • 2.8 使用Cookie的状态管理(请求报文(没有Cookie信息的状态)--响应报文(服务器端生成Cookie信息)--请求报文(自动发送保存着的Cookie信息))

第三章:HTTP报文内的HTTP信息

  • 3.1 HTTP报文(报文首部+空行+报文主体)
  • 3.2 请求报文及响应报文的结构

( 请求报文的结构:请求行+请求首部字段+通用首部字段+实体首部字段+其他;响应报文的结构:请求行+请求首部字段+通用首部字段+实体首部字段+其他)

请求行 方法、请求URI、HTTP版本
状态行 状态码、原因状语、HTTP版本
首部字段 请求首部、响应首部、通用首部、实体首部
其他 HTTP的RFC里未定义的首部(Cookie等)
  • 3.3 编码提升传输速率

(什么是报文?HTTP通信的基本单位,由8位组字节流组成;什么是实体?请求或响应的有效载荷数据;压缩传输的内容编码;分割发送的分块传输编码)

  • 3.4 发送多种数据的多部分对象集合(多部分对象集合(Multipart))
  • 3.5 获取部分内容的范围请求(首部字段Range指定资源的byte范围)
  • 3.6 内容协商返回最合适的内容(服务器驱动协商,客户端驱动协商,透明协商)

第四章:返回结构的HTTP状态码

  • 4.1 状态码告知从服务器端返回的请求结果
  类别 原因状语
1XX Informational(信息性状态码) 接受的请求正在处理
2XX Success(成功状态码) 请求正常处理完毕
3XX Redirection(重定向状态码) 需要进行附加操作以完成请求
4XX Client Error(客户端错误状态码) 服务器无法处理请求
5XX Server Error(服务器端错误状态码) 服务器处理请求错误
  • 4.2 2XX成功(200 OK--请求成功;204 No Content--没有资源可返回;206 Partial Content--范围请求)
  • 4.3 3XX重定向

(301 Moverd Permanently--永久性重定向;302 Found--临时性重定向;303 See Other--使用GET方法获取资源的另一个URI;

304 Not modified--资源已找到,但未符合条件请求;307 Temporary Redirect--临时重定向,与302类似)

  • 4.4 4XX客户端错误

(400 Bad Request--请求报文语法错误;401 Unauthorized--请求需要认证;403 Forbidden--未获得访问授权;404 Not Found--服务器上没有请求的资源)

  • 4.5 5XX服务器错误

(500 Internal Server Error--服务器端在执行请求时发生了错误;503 Service Unavailable--服务器处于超负载或者正在停机维护)

第五章:与HTTP协作的Web服务器

  • 5.1 用单台虚拟主机实现多个域名(相同的IP地址下,虚拟主机可以寄存多个不同主机名和域名的Web网站)
  • 5.2 通信数据转发程序:代理、网关、隧道

(代理:客户端和服务器端的中间人,接收请求和响应;源服务器?每次经过代理追加写入Via首部信息;缓存代理、透明代理)

(网关:对请求进行处理;通过加密提高通信的安全性)

(隧道:在相隔甚远的客户端和服务器两者之间进行中转,保持双方通信连接;通信双方断开连接时隧道结束)

  • 5.3 保存资源的缓存

(缓存:代理服务器或者客户端本地磁盘内保存的资源副本)

第六章:HTTP首部

  • 6.1 HTTP报文首部
  • 6.2 HTTP首部字段
  • 6.3 HTTP/1.1通用首部字段
首部字段名 说明
Cache-Control 控制缓存的行为
Connection 连接管理
Date 创建报文的日期时间
Pragma 报文指令
Trailer 报文末端的首部一览
Transfer-Encoding 指定报文主体的传输编码方式
Upgrade 升级为其他协议
Via 代理服务器的相关信息
Warning 错误通知
  • 6.4 请求首部字段
首部字段名 说明
Accept 用户代理可处理的媒体类型
Accept-Charset 优先的字符集
Accept-Encoding 优先的内容编码
Accept-Language 优先的语言
Authorization Web认证信息
Expect 期待服务器的特定行为
From 用户的电子邮箱地址
Host 请求资源所在服务器
If-Match 比较实体标记(ETag)
If-Modified-Since 比较资源的更新时间
If-None-Match 与If-Match相反
If-Range 资源未更新时发送实体Byte的范围请求
If-Unmodified-Since 与If-Modified-Since相反
Max-Forwards 最大传输逐跳数
Proxy-Authorization 代理服务器要求客户端的认证信息
Range 实体的字节范围请求
Referer 对请求中URI的原始获取方
TE 传输编码的优先级
User-Agent HTTP客户端程序的信息
  • 6.5 响应首部字段
首部字段名 说明
Accept-Range 是否接收字节范围请求
Age 推算资源创建经过时间
ETage 资源的匹配信息
Location 令客户端重定向至指定URI
Proxy-Authenticate 代理服务器对客户端的认证信息
Retry-After 对再次发起请求的时机要求
Server HTTP服务器的安装信息
Vary 代理服务器缓存的管理信息
WWW-Authenticate 服务器对客户端的认证信息
  • 6.6 实体首部字段
首部字段名 说明
Allow 资源可支持的HTTP格式
Content-Encoding 实体主体适用的编码方式
Content-Language 实体主体的自然语言
Content-Length 实体主体的大小(单位:字节)
Content-Location 替代对应资源的URI
Content-MD5 实体主体的报文摘要
Content-Range 实体主体的位置范围
Content-Type 实体主体的媒体类型
Expires 实体主体过期的日期和时间
Last-Modified 资源的最后修改日期时间
  • 6.7 为Cookie服务的首部字段
首部字段名 说明 首部类型
Set-Cookie 开始状态管理所使用的Cookie信息 响应首部字段
Cookie 服务器接收到的Cookie信息 请求首部字段
  • 6.8 其他首部字段(不再列举)

第七章:确保Web安全的HTTPS

  • 7.1 HTTP的缺点

(a.通信使用明文(不加密),内容可能会被窃听

b.不验证通信方的身份,有可能遭遇伪装

c.无法证明报文的完整性,有肯能已经被纂改)

  • 7.2 HTTP+加密+认证+完整性保护=HTTPS

(HTTP通信接口部分用SSL和TLS协议代替即为HTTPS;公开密钥加密技术)

第八章:确认访问用户身份的认证

  • 8.1 何为认证(判断访问服务器的对方)
  • 8.2 BASIC认证(基本认证;用户id+密码+Base64编码处理)
  • 8.3 DIGEST认证(摘要认证;响应摘要+质询码产生的计算结果)
  • 8.4 SSL客户端认证(客户端证书+密码)
  • 8.5 FormBase认证( 基于表单认证;按登录信息的验证结果认证)

第九章:基于HTTP的功能追加协议

  • 9.1 基于HTTP的协议
  • 9.2 消除HTTP瓶颈的SPDY

(HTTP瓶颈:一条连接上只能发送一个请求;请求只能从客户端开始;请求/响应首部未经压缩就发送;发送冗长的首部;可任意选择数据压缩格式)

(Ajax:只更新局部界面;Comet:服务器端有更新时载返回响应;SPDY:TCP/IP的应用层和传输层之间通过新加会话层的形式运作,通信中使用SSL)

  • 9.3 使用浏览器进行全双工通信的WebSocket(推送功能、减少通信量、握手/请求、握手/响应)
  • 9.4 期盼已久的HTTP/2.0(SPDY、HTTP Speed + Mobility、 Network-Friendly HTTP Upgrade)
  • 9.5 Web服务器管理文件的WebDav (可对Web服务器上的内容直接进行文件复制、编辑等操作的分布式文件系统)

第十章:构建Web内容的技术

  • 10.1 HTML(超文本标记语言、层叠样式表CSS)
  • 10.2 动态HTML(调用客户端脚本语言JavaScript实现对HTML的Web页面的动态改造;DOM(文档对象模型)可指定预发生动态变化的HTML元素)
  • 10.3 Web应用(通过Web功能提供的应用程序;CGI;Servlet:能在服务器上创建动态内容的程序,是Java语言实现的一个接口,属于Java EE的一部分)
  • 10.4 数据发布的格式及语言(XML、RSS、JSON)

第十一章:Web的攻击技术

  • 11.1 针对Web的攻击技术(主动攻击:直接访问Web应用,将攻击代码传入;被动攻击:例用全套策略执行攻击)
  • 11.2 因输出值转义不完全引发的安全漏洞(跨站脚本攻击(XSS)、窃取用户Cookie、SQL注入攻击、OS命令注入攻击、HTTP首部注入攻击、邮件首部注入攻击)
  • 11.3 因设置或设计上的缺陷引发的安全漏洞(强制浏览、不正确的错误消息处理、开放重定向)
  • 11.4 因会话管理疏忽引发的安全漏洞(会话劫持、会话固定攻击、跨站点请求伪造)
  • 11.5 其他安全漏洞(密码破解、点击劫持、DOS攻击(服务停止攻击/拒绝服务攻击))

原文地址:https://www.cnblogs.com/iceywu/p/11806340.html

时间: 2024-08-30 10:59:36

《图解HTTP》读后总结的相关文章

《你的灯亮着吗》——读后总结

今天竟然一口气看完了这本书,晚上11点整,刚刚好写点总结. 这本书并不是一下子就能学会的,而是在生活中慢慢去习惯这种思考方式. 还是老样子,先看看这本书都讲了什么? 这本书是一种教别人遇到问题的解决思路的一本书.本书讲了如下的问题: 1 人们遇到问题如何思考? 2 遇到棘手的问题如何思考并解决? 3 对于某个问题何种角度来思考! 针对以上的问题,书中按照下面的章节进行介绍: 1 问题是什么? 2 什么是真正的问题? 3 这是谁的问题? 4 问题是从哪来的? 5 我们真的想解决问题吗? 如何解释“

惠普笔记本按开机键后电源灯亮的,但是屏幕一直是黑的,只有大写锁定键闪烁,闪3次一个循环,听得到风扇

现象: 惠普笔记本按开机键后电源灯亮的,但是屏幕一直是黑的,只有大写锁定键闪烁,闪3次一个循环,听得到风扇转动的声音,热风,cpu应该也在工作,请问是什么问题. 解决(我按照红色的作了,就可以了,真是奇怪...): 您好,感谢您选择惠普产品. 1.您的笔记本开机黑屏,请您回忆一下最近是否进行过什么方面特殊操作,比如最近是否进行过硬件改动(例如添加过新内存)或者连接了外接设备,如果是,建议您恢复之前硬件配置及断开所有外接设备看是否可以正常开机. 2.如果您没有进行过特殊操作,使用电池或电源适配器供

你的灯亮着吗?(3)

读后感言 读一本书就能够学会如何解决问题是不可能的,所以该书也不是按部就班的教你如何解决问题,更多的我觉得应该是大家通过阅读该书有所思,有所悟,最终形成自己的分析和解决问题的方法论. 1.问题的定义 问题是你期望和和你体验间的差别,要分析和解决问题时候首先需要搞清楚什么是真正的问题,问题从哪里来是谁的问题等内容.在工作和生活中常犯的毛病是扭曲问题定义,自己人为的去解释和翻译问题从而导致把问题的解决方法做为问题的定义. 从而导致后续一连串的错误. 2.分析和思考问题 分析和思考问题是对问题定义的进

[书籍分享]0-003.你的灯亮着吗:发现问题的真正所在

封面 内容简介 本书是由唐纳德·高斯和杰拉尔德·温伯格著作.它主要是向读者阐述了一些关于问题定义和看待问题的方式方法,帮助读者解放自己的思维禁锢,多方面的去寻找问题的定义,并解决问题. 这本书分六篇列举了20个故事.以它极其幽默的方式让读者去接收作者的思维和思考方式,读完这本书后你会发现,你会更容易的去全面看待一个问题.在我看来,这本书的主要目的就是发散你的思维. 作者 唐纳德·高斯,知名畅销书作家,目前写书27本,涉足领域:经济营销.伦理学.心理学等.知名图书:<上12堂说故事的营销课>.&

《你的灯亮着吗》第五篇、第六篇总结

第五篇讲的是问题是从哪儿来的?由一个叫珍妮特去波兰拜访她的祖母在旅途中遇到的麻烦引出主题.一开始她把问题推到“官僚主义”上,她感觉这似乎是最恰当的.但是最后她发现她十分倾向于把整件事归咎于“官僚主义”,之后她提出了一个至关重要的问题:问题是从哪儿来的?从这点出发,她成功找到乐各种备选答案.后来,珍妮特想这个问题的根源也许是她自己.她开始以正常的心态面对曾被她称作灰脸先生的人,他们顺利的交谈,最后事情的到了解决.一切都正常的进行着,一旦你确定问题真正从哪来,尤其是因为问题的根源常常在你自己身上.

四、按键控制LED灯亮灭

材料: 1.SAGOO UNO 1块: 2.按键模块 1块: 3.杜邦线若干. 步骤: 1.按照下图连接按键模块和UNO: SAGOO UNO引脚                                      按键模块引脚 3V3  <------------------------------------>    V(电源) GND <------------------------------------>    G(电源) Pin2  <----------

《你的灯亮着吗》读者笔记(三)

解决问题是最后一步,建立在分析问题基础上,解决问题有多条途径,如果通过各种约束条件选择最佳的途径来解决问题是需要考虑的重要因素.问题解决后要及时进行归纳和总结,形成自己的知识库. 当你在寻找问题定义的道路上疲倦地游荡时,不要忘记随时都回头看看,看看你是不是已经迷路了. 一旦你用文字来表达一个问题,请仔细推敲这些文字以使这种表述在每个人的头脑中都是一个意识. 如果这是他们的麻烦,就让它成为他们的麻烦. 当别人能够很好地解决自己问题的时候,千万不要越俎代庖. 如果某人能够解决这个问题,但是他本人却并

《你的灯亮着吗?》阅读笔记1

<你的灯亮着吗?> 目前才看了这本书的三分之一,不过对我来说很有针对性,感觉有达到那种一针见血的目的,也就是主旨大意很明确吧,让我真切能读进东西. 这两章的标题是“问题是什么”和“这个问题是什么?”它从不同的深度和层次上通过故事向我们阐述了当我们面对一些问题时的心理路程,我们不难从中得到体会. 当面对产生的问题时,在提出解决问题的方案之前,我们必须了解谁有问题,或者说这是谁的问题,其次再针对这些人给出对用问题的解释或定义,认识到问题的本质核心.在我们认识问题的过程中你会发现问题其实就是期望的东

《你的灯亮着吗》阅读笔记二

开头就是一个关于打印机的故事,说的是一家很大的计算机生产商打算开发一种新型打印机,丹用简单的思路就设计出了一种惊人有效的工具,铝条上欠着小针,这样就可以精确的在纸上扎出小洞来.按照我们的思路,丹这是立了功,应该发奖金加工资甚至升个职也不为过啊,但是后来却出现了戏剧性的一幕,因为丹的老板被针扎到了,于是丹的这一切也就泡汤了. 一开始的问题,丹确实是解决了,但是解决了这个问题,又会伴随着新的问题的出现.我们的生活中也是这样,往往遇见了问题,你解决了,但马上又会因为你解决的方式,或者这个问题的本身,又

《你的灯亮着吗》阅读笔记3

问题是从哪里来的?珍妮特•乔瓦斯基遇到的麻烦,来自哪里?她有多个答案,这些答案可能错也可能对.但是事实是什么没有人会知道. “问题的根源常常在你自己身上”,珍妮特以微笑的礼貌方式与公众服务人民进行了交流,虽然不知道问题的真正出现原因在哪,可是珍妮特却可以得到一个好的结果.我们在做事时是不是经常会忽略礼貌问题.跟人交流时,感觉对方态度恶劣,自己很反感,所以自己态度也会很恶劣,却从没想过自己应该态度好一点,珍妮特给自己上了一课. “在这世上有两种人,一种人做事,另一种人给别人找事做.离第二种人远一点