Lesson 45 应用层的作用★★★★★⭐⭐⭐⭐⭐考试重要程度第一部分什么是应用层很多同学一听应用层就认为是微信、QQ、浏览器。其实不完全对。准确地说应用层是为应用程序提供网络通信服务的一层。★★★★★注意应用层不是应用程序本身。而是应用程序和网络之间的桥梁。举个例子假设你打开浏览器。浏览器想访问www.baidu.com浏览器不会自己发送 IP 数据包。它会调用HTTPHTTP再调用TCP。TCP调用IP。IP调用MAC。最后经过网线。所以整个过程浏览器 ↓ HTTP应用层 ↓ TCP传输层 ↓ IP网络层 ↓ 数据链路层 ↓ 物理层应用层负责告诉网络我要干什么。第二部分应用层有哪些协议★★★★★这是考试最爱考的一张表。应用层 │ ├── DNS ├── HTTP ├── HTTPS ├── FTP ├── SMTP ├── POP3 └── IMAP★★★★★以后几节课。我们一节一节讲。第三部分应用层协议作用先整体认识一下。协议功能DNS域名解析HTTP浏览网页HTTPS安全网页FTP文件传输SMTP发送邮件POP3接收邮件IMAP同步邮件★★★★★建议直接背。第四部分浏览网页全过程★★★★★假设你打开www.baidu.com到底发生了什么整个流程第一步浏览器发现这是域名。例如www.baidu.com不知道IP。于是请求DNS查询。第二步DNS返回IP 地址。例如110.xxx.xxx.xxx这里不用记具体 IP只要知道 DNS 返回 IP 即可。第三步浏览器使用HTTP。准备请求网页。第四步HTTP交给TCP。TCP三次握手。建立连接。第五步TCP交给IP。IP经过交换机、路由器。发送服务器。第六步服务器返回网页。浏览器显示。整个过程输入网址 ↓ DNS ↓ 得到IP ↓ HTTP ↓ TCP ↓ IP ↓ 服务器 ↓ 网页显示⭐⭐⭐⭐⭐这张流程图非常重要。它把我们前面五章全部串起来了。第五部分应用层与传输层关系★★★★★很多考试喜欢问。应用层直接找谁答案传输层。例如HTTP ↓ TCP或者DNS ↓ UDP多数情况下所以应用层协议下面一定是TCP 或 UDP。第六部分哪些协议用 TCP哪些用 UDP先提前知道。应用层协议使用传输层协议HTTPTCPHTTPSTCPFTPTCPSMTPTCPPOP3TCPIMAPTCPDNS通常 UDP★★★★★考试非常喜欢考DNS 为什么一般使用 UDP答案因为数据量小。查询速度要求高。特殊情况下 DNS 也会使用 TCP例如区域传送但考试一般默认DNS→UDP。第七部分应用层是离用户最近的一层OSI 七层中。真正用户能看到的是微信 浏览器 QQ 邮箱 网盘它们都工作在应用层。所以应用层离用户最近。第八部分本课总结★★★★★应用层 │ ├── 为应用程序提供通信服务 │ ├── DNS ├── HTTP ├── HTTPS ├── FTP ├── SMTP ├── POP3 └── IMAP第九部分整本书第一次全部串起来★★★★★这是你学习到现在最重要的一张图。假设你在浏览器输入www.baidu.com全过程浏览器 ↓ HTTP应用层 ↓ TCP三次握手 ↓ IP路由 ↓ MACARP ↓ 交换机 ↓ 路由器 ↓ 互联网 ↓ 百度服务器 ↓ 有没有发现第一章到第六章终于连成了一条完整的链这也是为什么我们一直按顺序学习。Lesson 46 DNS域名系统★★★★★⭐⭐⭐⭐⭐应用层重点考试重要程度第一部分为什么需要 DNS先思考一个问题。假设百度服务器的 IP 是110.242.68.66腾讯服务器43.xxx.xxx.xxx淘宝服务器140.xxx.xxx.xxx如果让你每天记几十个、几百个 IP 地址。现实吗当然不现实。所以人们发明了域名Domain Name例如www.baidu.com www.qq.com www.taobao.com这些名字比 IP 容易记得多。第二部分DNS 是什么★★★★★DNS 全称Domain Name System域名系统一句话定义DNS 的作用是把域名转换成 IP 地址。⭐⭐⭐⭐⭐考试最常见的问题DNS 的作用是什么标准答案域名解析把域名转换为 IP 地址。第三部分为什么不能直接使用域名这里很多同学容易误解。计算机真正通信时只认 IP 地址。例如你输入www.baidu.com浏览器不能直接发送给www.baidu.com必须先变成110.242.68.66示例然后TCP 建立连接。最后发送 HTTP 请求。所以域名是给人看的IP 地址是给计算机看的。⭐⭐⭐⭐⭐第四部分DNS 查询全过程★★★★★这是考试最喜欢考的流程。假设浏览器输入www.baidu.com整个过程第一步浏览器查看本地 DNS 缓存。如果以前访问过。直接得到IP。结束。第二步如果没有。向本地 DNS 服务器查询。例如运营商提供的 DNS。第三步本地 DNS如果不知道。继续向其他 DNS 查询。最终找到真正 IP。例如110.242.68.66示例第四步DNS返回IP。浏览器得到IP 地址。第五步浏览器开始TCP 三次握手。然后HTTP 请求。整个流程输入域名 ↓ 浏览器缓存 ↓ 本地DNS ↓ 其他DNS服务器 ↓ 得到IP ↓ TCP三次握手 ↓ HTTP请求 ↓ 网页显示⭐⭐⭐⭐⭐建议把这个流程图背下来。第五部分DNS 层次结构了解DNS 服务器不是只有一台。它是一个分层系统。教材一般要求了解。根DNS服务器Root │ ▼ 顶级域DNS.com │ ▼ 权威DNS服务器 │ ▼ 得到IP地址考试一般知道DNS 是分层管理的。即可。第六部分递归查询和迭代查询★★★★☆这是很多教材都会考的概念。① 递归查询特点客户端只问一次。例如你问本地 DNS帮我查 www.baidu.com。 后面的查询工作都由本地 DNS 完成。最后把结果告诉你。这就是递归查询。② 迭代查询特点查询者自己不断去问。例如根服务器说“我不知道但你去问.com。”.com 又说“你再去问百度的权威 DNS。”最后一步一步找到答案。这就是迭代查询。考试口诀递归别人帮我查。迭代自己一步一步查。第七部分DNS 为什么通常使用 UDP★★★★★这是考试高频题。原因DNS 查询通常只有几十字节到几百字节。数据量很小。所以没必要建立 TCP 连接。UDP速度快。开销小。所以DNS 查询通常使用 UDP。⭐⭐⭐⭐⭐注意特殊情况如区域传送会使用 TCP但考试一般默认DNS → UDP第八部分DNS 常见缓存了解为了提高速度。DNS 会缓存结果。缓存位置浏览器缓存 ↓ 操作系统缓存 ↓ 本地DNS服务器缓存所以第二次访问同一个网站。通常更快。第九部分本课总结★★★★★DNS │ ├── 域名解析 ├── 域名 → IP ├── 通常使用 UDP ├── 分层结构 ├── 浏览器缓存 ├── 本地DNS ├── 根DNS └── 权威DNS第十部分浏览网页全过程第二版★★★★★现在我们已经能完整理解访问网页了。例如输入www.baidu.com全过程输入域名 ↓ DNS解析 ↓ 得到IP ↓ TCP三次握手 ↓ HTTP请求网页 ↓ 服务器返回网页 ↓ 浏览器显示页面 这一张图是计算机网络期末考试最经典的综合流程。Lesson 47 HTTP超文本传输协议★★★★★⭐⭐⭐⭐⭐应用层核心考试重要程度第一部分什么是 HTTPHTTP 全称HyperText Transfer Protocol超文本传输协议一句话定义HTTP 是应用层协议用于浏览器和 Web 服务器之间传输网页数据。⭐⭐⭐⭐⭐考试标准答案HTTP 是应用层协议用于传输超文本。第二部分什么叫超文本很多同学第一次看到“超文本”觉得特别高深。其实一点也不难。普通文本你好超文本不仅有文字。还有例如你现在看到的网页就是超文本。所以HTTP负责传输网页。第三部分HTTP 工作过程★★★★★假设你打开www.baidu.com整个过程浏览器 ↓ HTTP 请求Request ↓ TCP ↓ 互联网 ↓ 服务器 ↓ HTTP 响应Response ↓ 浏览器显示网页所以HTTP就是浏览器和服务器之间的交流语言。第四部分HTTP 为什么使用 TCP★★★★★HTTP为什么不用 UDP因为网页不能少内容。例如HTML少一个字符。网页可能显示错误。所以HTTP要求可靠。因此HTTP使用TCP。⭐⭐⭐⭐⭐口诀HTTP → TCP第五部分HTTP 请求Request★★★★★浏览器向服务器发送HTTP Request请求例如GET /index.html HTTP/1.1意思请把首页发给我。这就是请求。请求包含什么考试知道即可。一般包括请求行 请求头 请求体有时有不用死记格式。知道组成即可。第六部分HTTP 响应Response★★★★★服务器收到请求。回复HTTP Response响应例如HTTP/1.1 200 OK后面跟着网页内容。浏览器显示出来。第七部分HTTP 请求方法★★★★★考试经常考。最重要两个。GET作用获取资源。例如打开网页。浏览新闻。查看图片。都是GET。POST作用提交数据。例如登录。注册。发表评论。上传文件。都是POST。对比表★★★★★GETPOST获取数据提交数据一般无请求体一般有请求体常用于查询常用于提交口诀GET 获取POST 提交。⭐⭐⭐⭐⭐第八部分HTTP 状态码★★★★★这是考试超级重点服务器处理请求后。会返回状态码。最常考四个。200 OK表示请求成功。网页正常打开。404 Not Found表示页面不存在。例如网址输错。考试最爱考。403 Forbidden表示禁止访问。没有权限。例如没有登录。或者没有访问权限。500 Internal Server Error表示服务器内部错误。服务器自己出问题。状态码总结状态码含义200成功403禁止访问404页面不存在500服务器内部错误⭐⭐⭐⭐⭐建议直接背。第九部分HTTP 是无状态协议★★★★☆什么意思例如今天你访问网页。关闭浏览器。明天再访问。HTTP不会自动记住昨天发生了什么。所以HTTP叫无状态协议。后来网站通过Cookie、Session。解决这个问题。考试知道即可。第十部分浏览网页全过程完整版★★★★★终于我们已经能够完整理解整个互联网。例如打开www.baidu.com全过程输入网址 ↓ DNS ↓ 得到IP ↓ TCP三次握手 ↓ HTTP GET请求 ↓ 服务器返回 HTTP 200 OK ↓ 网页显示 ↓ 四次挥手 到这里第一章到第六章。已经全部连起来了。Lesson 48 HTTPS安全超文本传输协议★★★★★⭐⭐⭐⭐⭐应用层重点考试重要程度第一部分什么是 HTTPSHTTPS 全称HyperText Transfer Protocol Secure安全超文本传输协议一句话定义HTTPS 是在 HTTP 的基础上增加了 SSL/TLS 加密的安全协议。⭐⭐⭐⭐⭐也可以简单记HTTPS HTTP SSL/TLS第二部分为什么需要 HTTPS先看 HTTP 的问题。假设你登录一个网站。输入用户名admin 密码123456HTTP会把这些数据直接发送。如果中间有人截获数据。可能直接看到用户名admin 密码123456是不是非常危险这就是明文传输。HTTPS 怎么解决HTTPS在发送之前。先进行加密。例如原来发送123456加密后A8F92KXQ...即使别人截获。也看不懂。所以HTTPS 更安全。第三部分HTTPS 为什么安全★★★★★HTTPS 主要依靠SSL/TLSSSLSecure Sockets Layer和 TLSTransport Layer Security是用于加密通信的安全协议。现在实际应用中SSL 已基本被 TLS 替代。教材通常写SSL/TLS考试这样写即可。作用对数据进行加密验证服务器身份防止数据被篡改⭐⭐⭐⭐⭐第四部分HTTP 与 HTTPS 对比★★★★★这是考试最爱考的比较题。HTTPHTTPS不加密加密不安全更安全默认端口 80默认端口 443无 SSL/TLS有 SSL/TLS⭐⭐⭐⭐⭐这张表建议直接背。第五部分默认端口★★★★★这是高频选择题。协议默认端口HTTP80HTTPS443记忆口诀HTTP80HTTPS443。第六部分浏览器里的“小锁”是什么当你访问https://...浏览器地址栏通常会显示 小锁。它表示网站使用了 HTTPS浏览器已经与服务器建立了安全连接数据会被加密传输。注意小锁不代表网站一定可信只代表连接是加密的。这是一个容易混淆的地方。第七部分HTTPS 工作流程考试了解完整过程比较复杂涉及证书、公钥、私钥等。对于期末考试一般掌握下面流程即可输入 https://网址 ↓ DNS 解析 ↓ TCP 三次握手 ↓ SSL/TLS 建立安全连接 ↓ HTTP 加密通信 ↓ 服务器返回网页重点HTTPS 比 HTTP 多了一步 SSL/TLS 安全连接。第八部分为什么 HTTPS 比 HTTP 慢一点因为HTTPS 比 HTTP 多了建立安全连接加密和解密数据。因此速度会略慢一些。但现在计算机性能很强。用户通常感觉不到明显差别。第九部分HTTP 与 HTTPS 一张图记住★★★★★HTTP │ ├── 应用层协议 ├── 基于 TCP ├── 明文传输 └── 默认端口 80 HTTPS │ ├── HTTP SSL/TLS ├── 基于 TCP ├── 加密传输 └── 默认端口 443第十部分浏览网页全过程最终版现在我们终于可以完整描述访问一个 HTTPS 网站的全过程。例如https://www.baidu.com流程输入网址 ↓ DNS 解析域名 ↓ 得到 IP ↓ TCP 三次握手 ↓ SSL/TLS 建立安全连接 ↓ HTTP加密请求 ↓ 服务器响应 ↓ 浏览器显示网页 ↓ TCP 四次挥手这张流程图把整本书的重要知识点几乎都串联起来了。请把下面 8 句话背下来HTTPS 是 HTTP 的安全版本。HTTPS HTTP SSL/TLS。HTTPS 可以对数据进行加密传输。HTTP 默认端口为 80。HTTPS 默认端口为 443。HTTP 和 HTTPS 都属于应用层协议。HTTP 和 HTTPS 都基于 TCP。HTTPS 比 HTTP 更安全。Lesson 49 FTP文件传输协议★★★★☆⭐⭐⭐⭐☆考试重要程度第一部分什么是 FTPFTP 全称File Transfer Protocol文件传输协议一句话定义FTP 是应用层协议用于在计算机之间传输文件。⭐⭐⭐⭐⭐考试标准答案FTP 用于文件传输。第二部分为什么需要 FTP假设你需要上传网站文件下载服务器日志在两台计算机之间传输大文件这些都可以使用FTP例如你的电脑 ↓ FTP ↓ 服务器实现第三部分FTP 使用 TCP★★★★★FTP为什么不用 UDP因为文件传输要求所以FTP 使用TCP⭐⭐⭐⭐⭐口诀FTP → TCP第四部分FTP 默认端口★★★★★这是考试高频考点。FTP默认端口21⭐⭐⭐⭐⭐记忆协议默认端口HTTP80HTTPS443FTP21建议开始把这些端口一起记忆。第五部分FTP 最大特点——两条连接★★★★★这是 FTP 最重要的特点很多协议例如HTTP只有一条 TCP 连接。但是FTP有两条连接。分别是FTP │ ├── 控制连接Control Connection └── 数据连接Data Connection⭐⭐⭐⭐⭐第六部分控制连接★★★★★控制连接负责发送命令。例如用户名 密码 上传 下载 删除文件这些命令都通过控制连接。它一直保持连接。默认端口21。第七部分数据连接★★★★★真正的文件内容。例如电影 图片 Word PDF 压缩包都通过数据连接。注意控制连接和数据连接是分开的。这就是 FTP 的特点。一个简单比喻假设你点外卖。控制连接就是你和商家的聊天“我要一份炸鸡。”数据连接就是外卖员真正把炸鸡送到你手里。聊天和送餐不是一回事。FTP 也是一样。第八部分主动模式与被动模式了解教材通常要求了解。FTP 有两种工作方式① 主动模式Active服务器主动连接客户端。特点服务器主动建立数据连接。② 被动模式Passive客户端主动连接服务器。特点更容易穿过防火墙。目前实际应用中被动模式更常见。考试一般知道FTP 有主动模式和被动模式。即可。第九部分FTP 工作流程★★★★★假设你上传一个文件。全过程客户端 ↓ 建立控制连接21 ↓ 登录用户名、密码 ↓ 建立数据连接 ↓ 上传文件 ↓ 关闭数据连接 ↓ 控制连接可继续保持重点文件传完后数据连接可以关闭而控制连接还可以继续使用。这是 FTP 与 HTTP 的一个明显区别。第十部分FTP 与 HTTP 对比★★★★★HTTPFTP浏览网页文件传输一条 TCP 连接两条 TCP 连接默认端口 80默认端口 21请求网页资源上传、下载文件⭐⭐⭐⭐⭐第十二部分本课总结★★★★★FTP │ ├── 应用层协议 ├── 文件传输 ├── 基于 TCP ├── 默认端口 21 ├── 控制连接 └── 数据连接Lesson 50 电子邮件系统SMTP、POP3、IMAP★★★★★⭐⭐⭐⭐⭐应用层重点考试重要程度第一部分电子邮件系统是什么电子邮件E-mail就是我们平时使用的它属于应用层服务。发送邮件和接收邮件并不是使用同一个协议。而是使用不同的协议分工合作。第二部分电子邮件系统组成一个完整的邮件系统可以简单理解为发件人 ↓ SMTP发送 ↓ 邮件服务器 ↓ POP3 或 IMAP接收 ↓ 收件人⭐⭐⭐⭐⭐考试经常直接考邮件发送使用什么协议邮件接收使用什么协议第三部分SMTP★★★★★SMTP 全称Simple Mail Transfer Protocol简单邮件传输协议作用发送电子邮件。⭐⭐⭐⭐⭐一句话记忆SMTP Send发送例如你点击发送按钮。邮件就是通过SMTP发送出去。SMTP 使用 TCP为什么因为邮件不能丢失。必须可靠。所以SMTP使用TCP。SMTP 默认端口教材了解25考试有时会考。知道即可。第四部分POP3★★★★★POP3 全称Post Office Protocol Version 3作用接收邮件。⭐⭐⭐⭐⭐一句话POP3 Receive接收POP3 工作方式POP3通常会把服务器邮件下载到本地电脑。很多情况下下载后服务器邮件可以删除具体取决于客户端设置。所以特点更偏向下载型。POP3 默认端口教材了解110第五部分IMAP★★★★★IMAP 全称Internet Message Access Protocol作用同步邮件。⭐⭐⭐⭐⭐很多同学容易和 POP3 混。这是考试重点IMAP 特点假设你手机。电脑。平板。同时登录邮箱。如果使用IMAP。那么删除一封邮件。所有设备都会同步。所以IMAP更适合多设备。IMAP 默认端口教材了解143第六部分POP3 与 IMAP 对比★★★★★这是考试最喜欢考的比较题。POP3IMAP下载邮件同步邮件偏本地保存偏服务器保存多设备同步较弱多设备同步强⭐⭐⭐⭐⭐一句话POP3 下载IMAP 同步。建议直接背。第七部分三种邮件协议总结★★★★★电子邮件 │ ├── SMTP │ 发送邮件 │ ├── POP3 │ 下载邮件 │ └── IMAP 同步邮件⭐⭐⭐⭐⭐这张图考试非常喜欢。第八部分邮件发送全过程★★★★★例如小明给老师发送邮件。全过程小明 ↓ SMTP ↓ 邮件服务器 ↓ POP3/IMAP ↓ 老师是不是非常简单发送SMTP。接收POP3 或 IMAP。第九部分邮件协议默认端口了解考试偶尔考。协议默认端口SMTP25POP3110IMAP143建议了解即可。如果老师特别强调端口那就记住。第十部分应用层协议大总结★★★★★终于。应用层全部学完。应用层 │ ├── DNS │ 域名解析 │ ├── HTTP │ 浏览网页 │ ├── HTTPS │ 安全网页 │ ├── FTP │ 文件传输 │ ├── SMTP │ 发邮件 │ ├── POP3 │ 收邮件下载 │ └── IMAP 收邮件同步⭐⭐⭐⭐⭐建议直接默写。第十一部分本课总结★★★★★电子邮件 │ ├── SMTP │ 发送 │ ├── POP3 │ 下载 │ ├── IMAP │ 同步 │ └── TCP请把下面 8 句话背下来SMTP 用于发送电子邮件。POP3 用于接收电子邮件。IMAP 用于同步电子邮件。SMTP、POP3、IMAP 都属于应用层协议。SMTP、POP3、IMAP 都基于 TCP。POP3 偏向下载邮件到本地。IMAP 支持多设备同步邮件。电子邮件系统通常使用 SMTP 发送POP3 或 IMAP 接收。