学习记录——Http协议(一)

一、学习计划

本周花了5天的时间看完了同事推荐的《HTTP权威指南》,加上之前看的《HTTP图解》,基本上对http了解的够全面了,不过我发现书上的内容比较老旧,后来看了一下《HTTP权威指南》是02年出的英文版,国内12年翻译的。额。。。其实能学到的知识不是很多,书上大部分都是http/1.0的知识 对新的http/2.0 http/3.0根本不涉及。所以就开始学习专栏《透视HTTP协议》。以下总结全部参考《透视HTTP协议》。以后抽空把《TCP/IP详解》三卷、《UNIX网络编程》给补上。

二、学习总结 

  • 第一章:时势与英雄:HTTP的前世今生
    • 讲解了http的发明背景以及HTTP/0.9、HTTP/1.0、HTTP/1.1的特性
    • HTTP/2 基于 Google 的 SPDY 协议,注重性能改善,但还未普及;
    • HTTP/3 基于 Google 的 QUIC 协议,是将来的发展方向。

  • 第二章:HTTP是什么?HTTP又不是什么?
    • HTTP 是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范
    • HTTP 是一个用在计算机世界里的协议,它确立了一种计算机之间交流通信的规范,以及相关的各种控制和错误处理方式。
    • HTTP 专门用来在两点之间传输数据,不能用于广播、寻址或路由。
    • HTTP 传输的是文字、图片、音频、视频等超文本数据。
    • HTTP 是构建互联网的重要基础技术,它没有实体,依赖许多其他的技术来实现,但同时许多技术也都依赖于它。在互联网世界里,HTTP 通常跑在 TCP/IP 协议栈之上,依靠 IP 协议实现寻址和路由、TCP 协议实现可靠数据传输、DNS 协议实现域名查找、SSL/TLS 协议实现安全通信。此外,还有一些协议依赖于 HTTP,例如 WebSocket、HTTPDNS 等。这些协议相互交织,构成了一个协议网,而 HTTP 则处于中心地位。
  •     第三章 :HTTP世界全览(上):与HTTP相关的各种概念
    • 互联网上绝大部分资源都使用 HTTP 协议传输
    •  浏览器是 HTTP 协议里的请求方,即 User Agent
    •  服务器是 HTTP 协议里的应答方,常用的有 Apache 和 Nginx
    •  CDN 位于浏览器和服务器之间,主要起到缓存加速的作用
    •  爬虫是另一类 User Agent,是自动访问网络资源的程序
    • Linux上的wget、curl等命令行工具基于http,所以也是一种 User Agent
    • Web Service是网络服务实体,Web Server是网络服务器 
  •     第四章 :HTTP世界全览(下):与HTTP相关的各种协议
    • TCP/IP 是网络世界最常用的协议,HTTP 通常运行在 TCP/IP 提供的可靠传输基础上

    • DNS 域名是 IP 地址的等价替代,需要用域名解析实现到 IP 地址的映射

    • URI 是用来标记互联网上资源的一个名字,由“协议名 + 主机名 + 路径”构成,俗称URL

    • HTTPS 相当于“HTTP+SSL/TLS+TCP/IP”,为 HTTP 套了一个安全的外壳

    • 代理是 HTTP 传输过程中的“中转站”,可以实现缓存加速、负载均衡等功能。

    • 如果使用UNIX/Linux操作系统,HTTP可以运行在本机的UNIX Domain Socket上,它是一种进程间的通信机制,但也是满足HTTP对下层的“可靠通信”要求,所以就成了“HTTP over UNIX Domain Socket”

  •   第五章:常说的“四层”和“七层”到底是什么?“五层”“六层”哪去了?
    • TCP/IP 分为四层,核心是二层的 IP 和三层的 TCP,HTTP 在第四层

    • OSI 分为七层,基本对应 TCP/IP,TCP 在第四层,HTTP 在第七层

    • OSI 可以映射到 TCP/IP,但这期间一、五、六层消失了

    • 日常交流的时候我们通常使用 OSI 模型,用四层、七层等术语

    • HTTP 利用 TCP/IP 协议栈逐层打包再拆包,实现了数据传输,但下面的细节并不可见

    • 凡是由操作系统 负责处理的就是四层或四层以下,否则,凡是需要由应用程序(也就是你自己写代码)负责 处理的就是七层。

    • 二层转发、三次路由

    • 七层:物理层、数据链路层、网络层、运输层、会话层、表示层和应用层

    • 四层:数据链路层、网络层、运输层和应用层 

  •     第六章:域名里有哪些门道?
    • 域名使用字符串来代替 IP 地址,方便用户记忆,本质上一个名字空间系统;

    • DNS 就像是我们现实世界里的电话本、查号台,统管着互联网世界里的所有网站,是一

      个“超级大管家”;

    • DNS 是一个树状的分布式查询系统,但为了提高查询效率,外围有多级的缓存;

    • 使用 DNS 可以实现基于域名的负载均衡,既可以在内网,也可以在外网。

    • DNS解析过程

  •     第七章:自己动手,搭建HTTP实验环境

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值