
(以下内容全部出自上述课程)
目录
- 电子邮件
-
- [1. 概述](#1. 概述)
-
- [1.1 信息格式](#1.1 信息格式)
- [1.2 组成结构](#1.2 组成结构)
- [2. 协议](#2. 协议)
-
- [2.1 简单邮件传送协议SMTP](#2.1 简单邮件传送协议SMTP)
- [2.2 MIME](#2.2 MIME)
- [2.3 邮局协议POP3](#2.3 邮局协议POP3)
- [2.4 网际报文存取协议IMAP](#2.4 网际报文存取协议IMAP)
- [3. 基于万维网的电子邮件](#3. 基于万维网的电子邮件)
- [4. 小结](#4. 小结)
- 万维网
-
- [1. 体会](#1. 体会)
- [2. 访问过程](#2. 访问过程)
- [3. HTTP协议的工作方式](#3. HTTP协议的工作方式)
-
- [3.1 大图](#3.1 大图)
- [3.2 非持续连接](#3.2 非持续连接)
- [3.3 持续连接、非流水线](#3.3 持续连接、非流水线)
- [3.4 持续连接、流水线](#3.4 持续连接、流水线)
- [4. 小结](#4. 小结)
- HTTP
-
- [1. 报文格式](#1. 报文格式)
- [2. Cookie的作用](#2. Cookie的作用)
- [3. 例题](#3. 例题)
- [4. 小结](#4. 小结)
电子邮件
1. 概述
1.1 信息格式
- 电子邮件=信封+内容=信封+首部+主体
- 发出的时候会自动添加FROM和Date

1.2 组成结构
- 用户代理:就是用来发电子邮件的软件
- 邮件服务器:帮你发送电子邮件
- 协议 :发送协议SMTP、接收协议POP3、IMAP等

只有接收方邮件服务器到接收方这个过程是使用接收协议的。

2. 协议
2.1 简单邮件传送协议SMTP
- 作用:发送邮件(从客户端 → 邮件服务器,或服务器 → 服务器)
- 端口:25(传统)、587(加密提交)、465(旧式 SSL)
- 特点 :
只负责"投递",不负责存储或读取
类似快递员:把包裹(邮件)送到对方邮局(邮件服务器)

- SMTP(以及 POP3、IMAP)都是构建在 TCP 之上的应用层协议。
- 电子邮件的整个传递过程依赖 TCP 提供的可靠、有序、面向连接的传输服务。
- 也就有了连接建立和释放连接的过程

2.2 MIME
- 作用:扩展邮件内容格式,让邮件不再只是纯文本
- 解决的问题 :
原始邮件只支持 ASCII 文本
MIME 允许:中文、图片、音频、附件、HTML 邮件等 - 实现方式 :
在邮件头部添加 Content-Type: multipart/mixed
将非文本内容编码(如 Base64) - 关键点 :
MIME 不是独立协议,而是对 SMTP/POP3/IMAP 的内容格式补充
所有现代邮件都基于 MIME

2.3 邮局协议POP3
- 作用:从服务器下载邮件到本地设备
- 端口:110(明文)、995(SSL 加密)
- 工作方式 :
默认下载后删除服务器上的邮件
邮件存储在你的电脑/手机上 - 类比 :
去邮局把所有信件拿回家,邮局不留底 - 适合场景 :
单设备使用(如只用一台电脑)
网络不稳定,需离线阅读 - 缺点 :
多设备无法同步(手机看了,电脑就没了)
无法管理服务器文件夹

2.4 网际报文存取协议IMAP
- 作用:在本地"映射"服务器上的邮件,保持同步
- 端口:143(明文)、993(SSL 加密)
- 工作方式 :
邮件保留在服务器
本地只缓存副本
所有操作(读、删、移动文件夹)实时同步到服务器 - 类比 :
邮局给你一个"远程监控摄像头",你可以随时查看、整理信件,但信一直存在邮局 - 适合场景 :
多设备使用(手机、平板、电脑)
需要云端备份和文件夹管理 - 优点 :
多端一致
节省本地存储
支持搜索、标记、文件夹等高级功能

3. 基于万维网的电子邮件
一、用户视角:你在浏览器里做了什么?
登录账号
点"写邮件" → 填收件人、主题、正文(可加附件)
点"发送"
刷新收件箱 → 新邮件出现
✅ 全程只用浏览器,无需配置 SMTP/POP3/IMAP!
二、系统架构:背后发生了什么?
关键点:
你 ↔ 邮件服务商:全程通过 HTTPS(HTTP over TLS) 通信
邮件服务商内部:仍然使用 SMTP / IMAP / POP3 处理实际邮件传输和存储
你不需要知道这些协议 ------ Web 服务器替你完成了所有操作
✅ Web 邮箱 = 把邮件客户端做成了网页应用

4. 小结

万维网

1. 体会



2. 访问过程

H4访问dilidili网站:
- H4先把DNS请求报文层层转发到本地域名服务器
- 本地域名服务器接收请求报文发现自己的DNS缓存中有这个网站的ip地址
- 本地域名服务器就会把ip地址装入DNS响应报文,再层层转发回去

- H4接收到响应报文,就会向这个ip地址建立TCP连接
- 浏览器在握手3的时候会携带HTTP请求报文,指明要访问哪个html网页
- dilidili服务器接收到请求,就会返回自己网站根目录下的html文件
- 如果还发现html上面还有其他的元素(图片视频什么的),就还需要n组HTTP请求&响应

3. HTTP协议的工作方式
3.1 大图

3.2 非持续连接
每建立一次TCP连接,仅完成一组HTTP请求&响应
如图:
- 握手+请求-->网页-->挥手-->握手+请求-->图片-->挥手-->...
- 可以通过并行TCP连接加快获取后几个网页元素的速度(只有先获得网页之后,才可以并行)
- 其实可以在挥手还没挥完的时候就直接握手
- 细线:比如握手or挥手or请求,不用考虑时延
- 粉色 :响应报文带了需要传输的文件,所以时间会长,就要考虑时延


3.3 持续连接、非流水线
每建立一次TCP连接,仅完成多组HTTP请求&响应
只有上一次的HTTP请求响应之后,才能发出下一次HTTP请求
如图:
- 握手+请求-->网页-->请求-->图片-->请求-->视频-->请求-->图片-->挥手


3.4 持续连接、流水线
每建立一次TCP连接,仅完成多组HTTP请求&响应
可以发出连续多个HTTP请求
如图:
- 握手+请求-->响应-->疯狂请求-->连续响应-->挥手

4. 小结

HTTP
简单说:HTTP 就是**浏览器"要网页"、服务器"给网页"**的对话规则。
HTTP 采用 客户端-服务器架构,流程如下:
- 客户端(如浏览器)发送请求
例如:GET /index.html HTTP/1.1 - 服务器接收请求并处理
- 服务器返回响应
例如:状态码 200 OK + 网页内容(HTML/CSS/图片等)
💡 每次操作都是 一次请求 + 一次响应,完成后连接通常关闭(无状态)。
1. 报文格式
- CRLF:换行


2. Cookie的作用
- Cookie:临时身份证,登录过了两天过期了,就是Cookie过期了

3. 例题

4. 小结
