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

130 阅读3分钟

image (1).png

分析方法

自底向上

  • 从简单开始,逐渐变复杂
  • 将模块逐步拼凑成一个系统

自顶向下

  • 从复杂开始,逐渐变简单
  • 从复杂的系统问题入手,拆分为模块问题

网络基础

网络组成部分

  • 硬件:主机、路由器、交换机等组成
  • 软件:安装在终端系统的应用软件
  • 协议:一系列规则、约定的集合

网络结构

网络就是把许多计算机连接到一起,而互联网则是把网络通过路由器连接在一起,因此互联网也称为网络的网络。与网络相连的计算机称为主机。 5f6c9e45eaafe3abaa73b072e845271.jpg

信息交换方式

  • 电路交换
  • 报文交换
  • 分组交换

网络分层模型

网络分层模型可以分为OSI七层网络协议、TCP/IP四层协议和五层协议。各层作用以及各层的网络协议可以参考图解网络介绍 | 小林coding (xiaolincoding.com)

2b0f6b14ada499d69d3e75652eb801e.jpg

网络协议

HTTP

HTTP 是超文本传输协议,也就是HyperText Transfer Protocol,是应用层上的协议。图解网络介绍 | 小林coding (xiaolincoding.com)

TCP

TCP,传输控制协议,Transmission Control Protocol,是一种面向连接的、可靠的、基于字节流的传输层协议。图解网络介绍 | 小林coding (xiaolincoding.com)

UDP

UDP,用户数据报协议,User Data Protocol。图解网络介绍 | 小林coding (xiaolincoding.com)

Web应用

HTTP协议

HTTP请求报文由请求行请求头空行请求体(body)组成。 HTTP响应报文由状态行响应头空行响应体(body)组成。 HTTP 报文结构详解 - 知乎 (zhihu.com) Pasted image 20230413104600.png

HTTP/1和HTTP/1.1

HTTP连接模型 Pasted image 20230413131246.png HTTP/1.1相当于HTTP/1使用了长连接方式改善了短连接的性能开销;同时支持管道传输,只要第一个请求发出去了,不必等其回来,就可以发第二个请求出去,可以减少整体的响应时间。(多数浏览器不支持)

HTTP/2

HTTP/2 相比 HTTP/1.1 性能上的改进

  • 头部压缩
  • 二进制格式,分为头信息帧数据帧
  • 并发传输
  • 服务器主动推送资源(server push)

HTTP/3

HTTP/2 队头阻塞的问题是因为 TCP,所以 HTTP/3 把 HTTP 下层的 TCP 协议改成了 UDP。但是UDP不可靠,但基于 UDP 的 QUIC 协议 可以实现类似 TCP 的可靠性传输。

  • 无队头阻塞
  • 更快的连接建立
  • 连接迁移

CDN

CDN全称是Content Delivery Network,即内容分发网络。也称为内容传送网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。一图秒懂CDN原理 - 掘金 (juejin.cn)

WebSocket

WebSocket是在HTTP协议上升级而来的。是一种基于TCP协议实现的全双工通信协议,它允许客户端和服务器之间进行双向数据传输。

Pasted image 20230312135013.png HTML5 WebSocket | 菜鸟教程 (runoob.com) WebSocket相比HTTP的优势:

  • 有状态的持久连接
  • 服务端可以主动推送消息
  • WebSocket发送消息延迟更低

网络安全

网络安全三要素

  • 机密性: 政击者无法获知通信内容
  • 完整性: 攻击者对内容进行篡改时能被发现
  • 身份验证: 攻击者无法伪装成通信双方的任意一方与另一方通信

Pasted image 20230413131246.png

HTTPS

把 HTTP 的明文换成密文,再验证身份,即 HTTPS

HTTPS = HTTP + TLS
TLS = 身份验证 + 加解密
身份验证靠 PKI

服务端身份验证靠 PKl,客户端身份验证靠 HTTP 协议