计算机网络概论 | 青训营笔记

121 阅读3分钟

这是我在字节第六届前端青训营的第一篇学习笔记,之前一直将内容整理在语雀上,没有注意到要发布到平台,现在补上啦。

对于课程内容简单梳理

  • 通过一个示例建立对计算机网络的整体认识
  • 建立对网络协议分层的认知
  • 分析HTTP 1、2、3的关系
  • 介绍CDN运行的基本原理
  • 了解网络安全的最基本原则
  • 详细描述如何开发一个基于HTTP协议(或者其他协议))的网络应用。
  • 深入介绍课程中所涉及协议的规范(Specification)内容和实现细节

一、网络基础

  • 网络组成部分:由主机、路由器、交换机等组成。
  • 网络结构︰网络分层,本地网络、本地网络节点的网络、本地网络的网络、区域网络、城域网和广域网。
  • 信息交换方式:网络信息交换,网络分层,电路交换和分组交换。
  • 网络分层:分清职责,物理层、链路层、网络层、运输层和应用层互不干扰。每一层都有对自身层级的封装。
  • 网络协议︰标头和载荷。协议的存在依赖于连接。协议是由二进制构成的,协议定义了报文发送的格式和顺序,报文发送或接收时所采取的动作。
  • 计算机网络分类:计算机网络可以分为局域网(LAN)、城域网(MAN)和广域网(WAN)。 局域网:一个较小的区域。 城域网:若干个局域网连接而成 广域网:几个城市的网络、国家的网络连接而成

二、WebSocket

  • 有状态的持久连接
  • 服务端可以主动推送消息
  • 用WebSocket 发送消息延迟比HTTP低 WebSocket是与HTTP不同的网络协议,但WebSocket的握手协议很特别,他是从HTTP协议升级而来的。

三、网络安全(https/ssl/tls/)

  • 三要素:机密性, 完整性, 身份验证。
  • 对称加密和非对称加密:公钥私钥是否使用相同密钥(保证机密性)
  • 密码散列函数(哈希函数,摘要函数):任何不同的输入都会生成不同的哈希值(保证完整性)
  • 数字签名: 私钥加密后的明文内容的哈希值, 内容一般是包含公钥的证书;(保证身份验证)
  • 验证数字签名具体过程是:服务器将自己的信息和公钥登记到CA机构, CA机构颁发公钥证书并用独有的私钥并进行数字签名。客户端拿到服务端的公钥证书后,用哈希函数生成证书内容的消息摘要,用植入浏览器的CA公钥对数字签名解密,对比两者。然后就可以用服务器公钥加密来向服务器发送对称密钥的协商信息了。
  • 总的来说: https = http + tls tls = 身份验证 + 加密和解密 客户端身份验证使用http协议, 服务端身份验证通过pki。