计算机网络——应用层

计算机网络——应用层

HTTP

HTTP 的缓存策略

当一个 HTTP 客户端请求一个服务器资源时,服务器会在相应消息中写入 Last-Modified 头部,指定该对象的最后一个修改日期,客户端进行缓存到本地。

客户端第二次请求服务器资源的时候,客户端会在请求消息中写入 If-Modified-Since 这称为条件 GET 请求,服务器检查该字段所指定的世界,若该对象的最后修改时间小于等于这个时间,说明缓存有效,则服务器不会产生相应消息的实体部分,而是返回 304 Not Modified ,反之则生成实体部分。

HTTP 2

HTTP 2 的诞生是为了解决 HTTP 1.1 的长链接所带来的队列队首效应(Head of Line HOL),举例来说就是如果在一个 HTTP 长链接中请求一个较大的视频资源和多个较小的图片资源,如果视频资源先请求,那么图片资源就要等待视频资源请求完毕,给用户造成了不好的体验。

而 HTTP 2 将消息分成多个帧,每个帧都是固定大小, HTTP 2 使用穿插策略,即将图片资源和视频资源的帧穿插进行传输,这样保证了每个对象实体都不会产生 HOL 效应。

HTTP 3 与 QUIC

HTTP 3 现在处于提案状态,HTTP 3 最重要的改变是使用了 QUIC 协议,QUIC 是传输层协议,基于 UDP 协议,HTTP 3 使用基于 UDP 协议的 QUIC 协议加快 HTTP 的传输速度。

Email

一个 Email 系统由三部分组成:

  1. 用户代理软件(UA):例如微软的 Outlook 软件,或者是各大厂商提供的基于 Web 的 Email 软件。
  2. 邮件服务器:储存用户的邮箱和邮件列表,负责每个用户的收发邮件。
  3. SMTP 协议:用户代理软件和邮件服务器之间的应用层协议。

收发邮件
SMTP 服务运行在 25 端口,使用 ASCII 字符收发数据。

我们知道 SMTP 只是推送协议,无法下载邮件,这就需要一种邮件访问协议,邮件访问协议可以是基于 HTTP 协议的,也可以是 IMAP 协议。

下面是一个完整的邮件发送和接收过程。

完整的发送和接收过程

DNS

全球域名服务(DNS)是一个分布式集群数据库,负责从主机名(域名)到 IP 地址的解析服务。

DNS 服务器使用 53 UDP 端口,在全球中有三种类型的 DNS 服务器:

  1. 根 DNS 服务器,储存了各种一级域名的 DNS 服务器地址。
  2. 顶级域名 DNS 服务器,储存了各种顶级域名下面的权威 DNS 服务器地址(二级域名)。
  3. 权威域名 DNS 服务器,储存个域名下面的各种子域名的解析地址。

DNS 架构

全球中,大概有 1000 台根 DNS 服务器。

DNS 查询分为迭代查询和递归查询。

迭代查询

递归查询

除此之外,还有一种 DNS 服务器叫做本地 DNS 服务器,这通常由 ISP 服务商提供,当一个主机连接到 ISP 上,会通过 DHCP 等协议获得一个本地 DNS 服务器,以后这个主机的所有查询请求都会发送到这个本地 DNS 服务器上,进行递归或者迭代查询。

DNS 服务器还会进行缓存,缓存刚刚查询到的记录。

储存在 DNS 服务器的记录由四部分组成,分别是(Name,Value,Type,TTL)。

Name 为记录的键,Value 为记录的值,Type 为记录的类型,TTL 为缓存的过期时间。

其中 Name 和 Value 的值取决于记录的类型,常见的四种记录类型:

  • A 记录,直接解析类型,Name 为主机名,Value 为 IP 地址。
  • NS 记录,权威 DNS 服务器解析,Name 为主机名,Value 为主机名对应的权威 DNS 服务器解析地址。
  • CNAME 记录,主机别名记录,Name 为主机名,Value 为主机名对应的别名主机名。
  • MX 记录,邮箱服务器别名记录,Name 为主机名,Value 为主机名下面的邮件服务器地址。

一个 DNS 查询、响应的格式如下:

DNS 格式

CDN

为了加快互联网静态资源的访问速度,各大互联网公司搭建 CDN 网络集群服务,主要原理应用 权威 DNS 服务器作为负载均衡。

CDN

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值