tjhttp N、《图解 HTTP》读书笔记 – 附录
介绍
尽管题目起名叫“附录”,实际上是集体收集笔记而已。
附录局部是把之前各个章节参考的各种文章和材料汇总一遍,如果你也想浏览这本书,置信这些内容对你肯定有帮忙。
N1、HTTP 历史协定白皮书
如果要深刻开掘 HTTP,那么必然绕不开这些协定原文写了啥,尽管在文章曾经给出超连贯,然而为了不便查找,这里还是留了一份。
- HTTP0.9:这个就齐全是草稿了。
-
HTTP/1.0:RFC1945
- https://datatracker.ietf.org/doc/html/rfc1945
-
HTTP1.1
- https://tools.ietf.org/html/rfc7230
- https://tools.ietf.org/html/rfc7231
- https://tools.ietf.org/html/rfc7232
- https://tools.ietf.org/html/rfc7233
- https://tools.ietf.org/html/rfc7234
- https://tools.ietf.org/html/rfc7235
-
HTTP2.0
- https://datatracker.ietf.org/doc/rfc7540/
-
HTTP3.0(订正中)
- https://datatracker.ietf.org/doc/rfc9114/
这些内容的理解来源于这一篇博客:【RFC】HTTP/1.1 系列(7230 – 7235)。
留神 HTTP1.1 有些材料还在探讨 RFC2616,实际上早就曾经被废除了。
N2、HTML1.0
Hypertext Markup Language (HTML)
A Representation of Textual Information and MetaInformation for Retrieval and Interchange
http://www.w3.org/MarkUp/draft-ietf-iiir-html-01.txt
N3、NCSA Mosaic bounce page
1993 年秋天,Mosaic 的 Windows 版和 Macintosh 版面世。应用 CGI 技 术的 NCSA Web 服务器、NCSA HTTPd 1.0 也差不多是在这个期间出 现的。
http://archive.ncsa.illinois.edu/mosaic.html
The NCSA HTTPd Home Page(存档)
http://web.archive.org/web/20090426182129/http://hoohoo.ncsa.illinois.edu/
(旧址已生效)
N4、httpbis(Hypertext Transfer Protocol Bis)
负责互联网技术标准的 IETF(Internet Engineering Task Force,互联网 工程工作组)创建 httpbis(Hypertext Transfer Protocol Bis,http://datatracker.ietf.org/w…)工作组,其指标是推动下一 代 HTTP——HTTP/2.0 在 2014 年 11 月实现标准化。
其实 IETF 是互联网倒退到当初不可或缺的角色,并不禁任何一个公司或者组织,而是属于公开面向全世界能够退出探讨的相似“论坛”的货色,对于 HTTP 的协定和标准都是由它发表,也是规范的间接制定者。位置毋庸置疑。
地址:https://datatracker.ietf.org/wg/httpbis/about/
httpbis 能够看做是建设 HTTP 协定规范的工程组构建的一个网站。
Bis 的意思叫做,“bis”来自“两次”或“反复”。它用于示意某物的第二个变体(只管通常只有小的变体,不须要新名称),在 HTTP 的上下文中,HTTPbis 是负责欠缺 HTTP 的工作组的名称。
其余解释:这个词(也用作前缀或后缀)bis,实用于一些古代协定规范,是 古拉丁语,意为“反复”(akin to Old High German“twice”)。当协定以“bis”结尾时,这意味着它是该协定的第二个版本。另外,ter 来自古拉丁语,意思是“三次”。
N5、RSS
如果你对 RSS 有趣味,那么倡议花点工夫把上面几个文章看一遍:
- RSS – Wikipedia
- RSS – 维基百科,自在的百科全书 (wikipedia.org)
- (3 封私信) 你必读的 RSS 订阅源有哪些?– 知乎 (zhihu.com)
- 晓得 RSS 的人越少,我就越心愿它能被人晓得!– 知乎 (zhihu.com)
N6、XSS
简略介绍 XSS 攻打以及缓解这些攻打的技术。
Types of attacks – Web security | MDN (mozilla.org)
N7、Websocket
无关 Websocket 的 API 参考局部:
WebSocket – Web API 接口参考 | MDN (mozilla.org)
以及一位阿里大佬介绍的 WebSocket 的内容,文章相干连贯的参考资料比拟有浏览价值,倡议珍藏之:
WebSocket 协定:5 分钟从入门到精通 – 程序猿小卡 – 博客园 (cnblogs.com)
N8、SPDY
这部分内容咱们能够联合 HTTP2.0 进行扩大,因为是曾经实现的货色,能够查看相干的新个性反对。
SPDY 的参考网站:http://www.chromium.org/spdy/
N9、Comet
更加具体的讲述 Comet
这一项技术。
Comet 技术详解:基于 HTTP 长连贯的 Web 端实时通信技术 – 知乎 (zhihu.com)
对于更多 Comet 的百科和历史倒退能够看上面的百科,本大节的内容也蕴含在百科内具体介绍:
Comet (programming) – Wikipedia?cm_mc_uid=72410021035714633836363&cm_mc_sid_50200000=1464236784)
N10、HTTP 首部介绍
全面解读 HTTP Cookie – 腾讯云开发者社区 - 腾讯云 (tencent.com)
N11、HTTP 状态代码备忘单
这里举荐两个网站:
第一个网站:一个澳大利亚团队的自建博客,保护了无关 HTTP 的状态介绍,网站做的挺难看的。
网站地址:https://www.websiterating.com/zh-CN/resources/http-status-codes-cheat-sheet/#summary
图片下载地址:https://www.websiterating.com/wp-content/uploads/http-status-codes.png
第二个网站:也是相似网站,然而个人感觉排版做的不错。
网站地址:HTTP Status Codes Glossary – WebFX
https://www.websiterating.com/zh-CN/resources/http-status-codes-cheat-sheet/#summary、
N12、负载的概念
集体不太了解为什么新协定要把实体换成负载这个概念,于是到上面这篇文章学习了一波:
https://www.zhihu.com/question/263752229
前三个答复根本能透彻理解到 HTTP 协定后续的倒退中为什么要替换实体的概念为负载,以及在语义定义的内容。
另外本文所有内容倡议用“负载”代替“实体”的概念,不要再用“实体”去对待实体。与时俱进嘛。
N13、内容协商概念参考
MDN 下面无关内容协商更为具体的解释:
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Content_negotiation
N14、局部章节扩大浏览
介绍:
上面的内容是从各个章节抽取的一些系统参考链接,并不是次要内容,能够抉择浏览。
N14、0 HTTP 协定重点个性参考(举荐)
吃透 HTTP 协定其实只有看官网的协定原文足矣。
当然学习过程难以避免须要查资料,这里给了一些集体写文章的参考文章材料。
材料 1:HTTP/ 2 的官网介绍(官网的一手材料,定协定的作者写的,最权威的材料了)
RFC 9113 – HTTP/2 (httpwg.org)
材料 2:这篇英文博客用 5 分钟的工夫疾速讲述了 HTTP/ 3 的新个性,比拟有意思的文章。
https://www.jesuisundev.com/en/understand-http3-in-5-minutes/
材料 3:总结的十分不错的用心的 博客,写作日期比拟靠近,集体很多内容了解也参考自这篇博客。
(最零碎、最全面)这一次,彻底搞懂 HTTP 面试 – 掘金 (juejin.cn)
材料 4:对于 HTTP 进化的一些历史探讨参考
https://segmentfault.com/a/1190000040631005
材料 5:无关 HTTP 的发展史参考
https://www.cnblogs.com/songyao666/p/16065502.html
N14.1、其余参考协定(原书第一章)
RFC3986
<s>RFC2396 标准文本 </s>,目前曾经废除。请参考 RFC3986
RFC3986 中文对照翻译:RFC3986 中文对照翻译
RFC3986 协定原文:https://www.rfc-editor.org/rfc/rfc3986.html
IANA – Uniform Resource Identifier (URI) SCHEMES(对立资源标识符计划)(第一章)
规范的 URI 协定计划有 30 种左右,由隶属于 国内互联网资源管理的非营利社团 ICANN(Internet Corporation for Assigned Names and Numbers,互联网名称与数字地址调配机构)的 IANA(Internet Assigned Numbers Authority,互联网号码调配局)治理 颁布。
http://www.iana.org/assignments/uri-schemes
N14.2、Keberos 认证(第八章未介绍)
对于 Keberos 的认证参考博客,举荐浏览程序 2、1、3:
第一篇:https://www.roguelynn.com/words/explain-like-im-5-kerberos/
第二篇:https://blog.csdn.net/sky_jiangcheng/article/details/81070240
第三篇:https://zhuanlan.zhihu.com/p/266491528
N14.3、状态码[HTTP1.1](第四章补充)
留神本协定到本文合作为止最新协定为 HTTP3.0。然而目前还是 HTTP1.1 的状态码定义最为成熟,所以拿了 HTTP1.1 的介绍。
- 1XX:1XX 结尾多为信息提示信息,简直看不到应用场景,疏忽即可。此外 1XX 的状态码并不会影响到 SEO 优化。
- 2XX(https://datatracker.ietf.org/doc/html/rfc7231#section-6.3):HTTP 状态代码是胜利申请。比方 HTTP 200 OK 胜利状态响应代码批示申请已胜利。
- 3XX(https://datatracker.ietf.org/doc/html/rfc7231#section-6.4):HTTP 状态代码批示重定向。最常见的 3XX HTTP 状态代码包含“301 永恒挪动”,“找到 302”和“307 长期重定向”HTTP 状态代码。
- 4XX(https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.1):状态代码是客户端谬误。最常见的 4xx 状态代码是“404 未找到”和“410 隐没”HTTP 状态代码。
- 5XX(https://datatracker.ietf.org/doc/html/rfc7231#section-6.6.1):HTTP 状态代码是服务器谬误。最常见的 5xx HTTP 状态代码是“503 服务不可用”状态代码。
N15、HTTPS
上面的内容适宜扩大浏览,因为本书波及的内容比拟入门,思考读者浏览感触没有更加深刻,这些材料集体都粗略或者认真看过一遍,都是不错的材料。
HTTPS – Wikipedia
Transport Layer Security – Wikipedia
看完这篇文章,我奶奶都懂了 https 的原理
彻底搞懂 HTTPS 的加密原理 – 知乎 (zhihu.com)
如果让你来设计 SSL/TLS 协定,你要怎么设计呢?- 华为开发者论坛 (huawei.com)(优质文章)
The First Few Milliseconds of an HTTPS Connection (moserware.com)(优质文章)
TLS – SSL (Schannel SSP) Overview | Microsoft Docs
为什么 HTTPS 须要 7 次握手以及 9 倍时延 – 面向信奉编程 (draveness.me)
N16、优质博客或者网站
N16.1 RFC 主动翻译文档的页面列表
针对词汇量较弱的同学能够中英对照翻译,倡议英文拿 IETF 网站原文对照。
RFC 主动翻译文档的页面列表
网站介绍:
- 咱们不保障翻译的准确性。请务必将其与英文文本进行对照浏览。
- 在极少数状况下,局部原文会被省略,因而请务必从右上角的“Orig”链接到原文浏览原文。
- 当一个图形或表格逾越多个页面时,或者当它们之间有空白行时,有可能翻译不精确。
- 对于翻译,因为 RFC 版权限度,仅公布 RFC 2220 或更高版本。
N16.2 HTTP 教學
一个台湾友人的技术博客。如果想要深刻 HTTP 持续补充和学习能够看看网站的材料,集体看过之后都非常不错。
网址:
https://notfalse.net/http-series
N16.3 Web 平安学习笔记
作者是一位低调的大佬,2000 多 Star 足以证实品质。
网址:LyleMi/Learn-Web-Hacking: Study Notes For Web Hacking / Web 平安学习笔记 (github.com)