当前位置: 首页 > news >正文

26考研 | 王道 | 第六章 应用层

26考研 | 王道 | 第六章 应用层

文章目录

  • 26考研 | 王道 | 第六章 应用层
    • 1.网络应用模型
      • 1.CS模型的应用
      • 2.P2P模型的应用
    • 2.DNS域名解析
      • 0.DNS系统
      • 1.域名
      • 2.域名服务器
        • (1)根域名服务器
        • (2)顶级域名服务器
        • (3)授权域名服务器(权限域名服务器)
        • (4)本地域名服务器
      • 3.域名解析过程
        • 递归查询
        • 递归与迭代相结合
        • DNS高速缓存
      • 4.加深理解的内容(举例)
    • 3.文件传输协议
      • FTP工作原理
      • 控制连接和数据连接
        • 主动模式PORT和被动模式PASV
    • 4.电子邮件
      • 0.思维导图
      • 1.电子邮件的信息格式
      • 2.电子邮件系统的组成结构
      • 3.电子邮件协议
        • 1.SMTP
          • MIME—多用途网络邮件扩充
        • 2.POP3
          • IMAP—因特网报文存取协议
        • 3.万维网的电子邮件
    • 5.WWW万维网和HTTP
      • 1.访问网页的过程
      • 2.HTTP的工作方式
      • 3.HTTP报文格式
      • 4. Cookie

image-20250527113018376

image-20250527113033376

1.网络应用模型

image-20250527113629678

image-20250527114015564

1.CS模型的应用

CS模型(客户端-服务器)的特点是客户端需要安装专用软件,服务端负责核心逻辑处理和数据存储。典型应用包括:

  • 传统桌面软件:如早期的单机游戏(如《魔兽争霸3》)、办公软件(如Office)

  • 网络游戏:如《王者荣耀》采用客户端-服务器架构,客户端负责渲染和操作,服务器处理战斗逻辑和匹配

  • 企业级应用:如ERP系统、数据库管理系统(如MySQL客户端)

  • 云服务工具:如Cobalt Strike(渗透测试工具)需客户端连接服务器

    image-20250527113932945

image-20250527114131060

2.P2P模型的应用

P2P模型(点对点)的特点是节点之间直接通信,无中心服务器。典型应用包括:

  • 文件共享:如BitTorrent、早期的Napster,用户之间直接交换文件
  • 实时通信:如Skype(早期版本)、区块链网络(如比特币节点通信)
  • 分布式计算:如SETI@home项目,利用全球用户设备资源进行天文计算
  • 去中心化应用:如IPFS(星际文件系统)等新型网络协议

2.DNS域名解析

DNS采用层次结构,子节点无需知道父节点IP,通过递归查询完成解析。

0.DNS系统

  • 域名系统(Domain Name System, DNS)是因特网使用的命名系统,用来把便于人们记忆的具有特定含义的主机名(如www.BitHachi.com)转换为便于机器处理的IP地址
  • 相对于IP地址,人们更喜欢使用具有特定含义的字符串来标识因特网上的计算机。
  • DNS系统采用客户/服务器模型,其协议运行在UDP之上,使用53号端口。
  • 从概念上可将DNS分为3部分:层次域名空间、域名服务器和解析器
  • 在这里插入图片描述
  • 某台主机访问网站www.bithachi.cn网站为例,DNS的大致流程
  • 在这里插入图片描述

1.域名

DNS的任务就是实现域名到IP的映射,使得我们输入域名可以访问对应的网站

  • 因特网采用层次树状结构的命名方法。采用这种命名方法,任何一个连接到因特网的主机或路由器,都有一个唯一的层次结构名称,即域名(Domain Name)
  • 域(Domain)是名字空间中一个可被管理的划分。
  • 域还可以划分为子域,而子域还可以继续划分为子域的子域,这样就形成了顶级域、二级域、三级域等。

在域名系统中,每个域分别由不同的组织进行管理。每个组织都可以将它的域再分成一定数目的子域,并将这些子域委托给其他组织去管理。

  • 例如,管理CN域的中国将EDU.CN子域授权给中国教育和科研计算机网(CERNET)来管理。

image-20250527121335014

二级域名除了图中的两个以外还可以自己去注册一个。注册二级域名可以得到一个三级域名

image-20250527121505128

每个域名都由标号序列组.成,而各标号之间用点(“.”)隔开。

在这里插入图片描述

关于域名中的标号有以下几点需要注意:

  • 1)标号中的英文不区分大小写。.
  • 2)标号中除连字符(-) 外不能使用其他的标点符号。
  • 3)每个标号不超过63个字符,多标号组成的完整域名最长不超过255个字符。
  • 4)级别最低的域名写在最左边,级别最高的顶级域名写在最右边。

顶级域名(Top Level Domain, TLD)分为如下三大类:

  • 1)国家顶级域名(nTLD)。国家和某些地区的域名,如“.cn”表示中国,“.us”表示美国,.uk”表示英国。
  • 2)通用顶级域名(gTLD)。 常见的有“.com” (公司)、“.net" (网络服务机构)、“.org”(非营利性组织)和“.gov" (国家或政府部门)等。
  • 3)基础结构域名。这种顶级域名只有一个,即arpa,用于反向域名解析,因此又称反向域名。反向域名解析与通常的正向域名解析相反,提供IP地址到域名的对应,反向域名格式如:X.X.X.in-addr.arpa。很多网络服务提供商要求访问的IP地址具有反向域名解析的结果,否则不提供服务。

国家顶级域名下注册的二级域名均由该国家自行确定。

2.域名服务器

  • 因特网的域名系统被设计成一个联机分布式的数据库系统,并采用客户/服务器模型
  • 域名到IP地址的解析是由运行在域名服务器上的程序完成的,一个服务器所负责管辖的(或有权限的)范围称为区(不以“域”为单位),各单位根据具体情况来划分自己管辖范围的区,但在一个区中的所有结点必须是能够连通的,每个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射。
  • 每个域名服务器不但能够进行一些域名到IP地址的解析,而且还必须具有连向其他域名服务器的信息。当自己不能进行域名到IP地址的转换时,能够知道到什么地方去找其他域名服务器。
  • DNS使用了大量的域名服务器,它们以层次方式组织。没有一台域名服务器具有因特网上所有主机的映射,相反,该映射分布在所有的DNS上。
  • 采用分布式设计的DNS,是一个在因特网上实现分布式数据库的精彩范例。主要有4种类型的域名服务器。

image-20250527122054220

(1)根域名服务器
  • 根域名服务器最高层次的域名服务器,所有的根域名服务器都知道所有顶级域名服务器的IP地址
  • 根域名服务器也是最重要的域名服务器,不管是哪个本地域名服务器,若要对因特网上任何一个域名进行解析,只要自己无法解析,就首先要求助于根域名服务器
  • 因特网上有13个根域名服务器,尽管我们将这13个根域名服务器中的每个都视为单个服务器,但每个“服务器”实际上是冗余服务器的集群,以提供安全性和可靠性。
  • 需要注意的是,根域名服务器用来管辖顶级域(如.com), 通常它并不直接把待查询的域名直接转换成IP地址,而是告诉本地域名服务器下一步应当找哪个顶级域名服务器进行查询。
(2)顶级域名服务器
  • 这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名
  • 收到DNS查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当查找的域名服务器的IP地址)。
(3)授权域名服务器(权限域名服务器)
  • 每台主机都必须在授权域名服务器处登记。为了更加可靠地工作,一台主机最好至少有两个授权域名服务器。
  • 实际上,许多域名服务器同时充当本地域名服务器授权域名服务器
  • 授权域名服务器总能将其管辖的主机名转换为该主机的IP地址
(4)本地域名服务器
  • 本地域名服务器对域名系统非常重要。
  • 每个因特网服务提供者(ISP), 或一所大学,甚至一所大学中的各个系,都可以拥有一个本地域名服务器。
  • 当一台主机发出DNS查询请求时,这个查询请求报文就发送给该主机的本地域名服务器
  • 事实上,我们在Windows系统中配置“本地连接”时,就需要填写DNS地址,这个地址就是本地DNS (域名服务器)的地址

3.域名解析过程

  • 域名解析是指把域名映射成为IP地址或把IP地址映射成域名的过程。前者称为正向解析,后者称为反向解析。
  • 当客户端需要域名解析时,通过本机的DNS客户端构造一个DNS请求报文,以UDP数据报方式发往本地域名服务器
  • 域名解析有两种方式:递归查询递归与迭代相结合的查询。
递归查询

递归查询的过程如下图所示, 由于该方法给根域名服务造成的负载过大,所以在实际中几乎不使用。

image-20250527122450209

递归与迭代相结合

右边是递归与迭代相结合的查询,下面是具体过程

(1)主机本地域名服务器的查询采用的是递归查询

  • 也就是说,如果本地主机所询问的本地域名服务器不知道被查询域名的IP 地址,那么本地域名服务器就以DNS客户的身份,向根域名服务器继续发出查询请求报文(即替该主机继续查询),而不是让该主机自己进行下一步的查询。
  • 在这种情况下,本地域名服务器只需向根域名服务器查询一次,后面的几次查询都是递归地在其他几个域名服务器之间进行的[见图6.6(a)中的步骤③~⑥]。
  • 在步骤⑦中,本地域名服务器根域名服务器得到了所需的IP地址,最后在步骤⑧中,本地域名服务器把查询结果告诉主机m.xyz.com.

(2)本地域名服务器根域名服务器的查询采用迭代查询

  • 根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器:“你下一步应当向哪个顶级域名服务器进行查询”。
  • 然后让本地域名服务器向这个顶级域名服务器进行后续的查询,如图6.6(b)所示。
  • 同样,顶级域名服务器收到查询报文后,要么给出所要查询的IP地址,要么告诉本地域名服务器下一步应向哪个·权限域名服务器·查询。
  • 最后,知道所要解析的域名的IP地址后,把这个结果返回给发起查询的主机

下面举例说明域名解析的过程:
假定某客户机想获知域名为y.abc.com主机的IP地址,域名解析的过程(共使用8个UDP报文)如下:

  • 客户机向其本地域名服务器发出DNS请求报文
  • 本地域名服务器收到请求后,查询本地缓存,若没有该记录,则以DNS客户的身份向根域名服务器发出解析请求。
  • 根域名服务器收到请求后,判断该域名属于.com域,将对应的顶级域名服务器dns.com的IP地址返回给本地域名服务器
  • 本地域名服务器顶级域名服务器dns.com发出解析请求报文
  • 顶级域名服务器dns.com收到请求后,判断该域名属于abc.com域,因此将对应的授权域名服务器dns.abc.com的IP地址返回给本地域名服务器
  • 本地域名服务器授权域名服务器dns.abc.com发起解析请求报文
  • 授权域名服务器dns.abc.com收到请求后,将查询结果返回给本地域名服务器
  • 本地域名服务器将查询结果保存到本地缓存,同时返回给客户机
DNS高速缓存
  • 为了提高DNS的查询效率,并减少因特网上的DNS查询报文数量,在域名服务器中广泛地使用了高速缓存
  • 当一个DNS服务器接收到DNS查询结果时,它能将该DNS信息缓存在高速
    缓存中。这样,当另一个相同的域名查询到达该DNS服务器时,该服务器就能够直接提供所要求的IP地址,而不需要再去向其他DNS服务器询问。
  • 因为主机名和IP地址之间的映射不是永久的,所以DNS服务器将在一段时间后丢弃高速缓存中的信息

4.加深理解的内容(举例)

image-20250527122540656

image-20250527122644720

你去找校长,校长找院长,院长找系主任,系主任给你查一下这个人,然后系主任给院长说,院长给校长说,校长再给你说(递归查询)。但是如果每个人都去找校长,那校长就会很繁忙,回复每个人就会很慢

**解决办法就是本地域名服务器。**就是把最近问过的域名和ip给存到缓存,之后再问的话就直接读取就行了

image-20250527122906009

image-20250527123014752

递归查询

image-20250527123150515

迭代查询

image-20250527123303674

3.文件传输协议

TFTP只需要知道是面向小文件并且比较容易实现的一个协议

  • 文件传输协议( File Transfer Protocol, FTP)是因特网上使用得最广泛的文件传输协议。
  • FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限
  • 它屏蔽了各计算机系统的细节,因而适合于在异构网络中的任意计算机之间传送文件

FTP提供以下功能:

①提供不同种类主机系统(硬、软件体系等都可以不同)之间的文件传输能力。

以用户权限管理的方式提供用户对远程FTP服务器上的文件管理能力

③以匿名FTP的方式提供公用文件共享的能力。

image-20250527150811569

image-20250527150936539

image-20250527151138375

FTP工作原理

  • FTP采用客户/服务器(C/S)的工作方式,它使用TCP可靠的传输服务。

  • 一个FTP服务器进程可同时为多个客户进程提供服务。

  • 依照FTP协议提供服务,进行文件传送的计算机就是FTP服务器

  • 连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端

  • FTP的服务器进程由两大部分组成:

    一个主进程,负责接收新的请求;

    若干从属进程,负责处理单个请求。

    在这里插入图片描述


其工作步骤如下:

①打开熟知端口21 (控制端口),使客户进程能够连接上。

②等待客户进程发连接请求。

③启动从属进程来处理客户进程发来的请求。主进程与从属进程并发执行,从属进程对客户进程的请求处理完毕后即终止。

④回到等待状态,继续接收其他客户进程的请求。


  • FTP服务器必须在整个会话期间保留用户的状态信息。特别是服务器必须把指定的用户账户与控制连接联系起来,服务器必须追踪用户在远程目录树上的当前位置。

控制连接和数据连接

控制进程和数据传送进程都是服务器从属进程而不是主进程

  • FTP在工作时使用两个并行的TCP连接:

    一个是控制连接(端口号21),一个是数据连接(端口号20)。这两个端口号说的是服务器的端口号

  • 使用两个不同的端口号可使协议更加简单和更容易实现。

    在这里插入图片描述
    在这里插入图片描述

1.控制连接

  • 服务器监听21号端口,等待客户连接,建立在这个端口.上的连接称为控制连接,控制连接用来传输控制信息(如连接请求、传送请求等),并且控制信息都以7位ASCII格式传送。

  • FTP客户发出的传送请求,通过控制连接发送给服务器端的控制进程,但控制连接并不用来传送文件。

  • 在传输文件时还可以使用控制连接(如客户在传输中途发一个中止传输的命令),因此控制连接在整个会话期间一直保持打开状态。

    在这里插入图片描述
    2.数据连接

  • 服务器端的控制进程在接收到FTP客户发来的文件传输请求后,就创建“数据传送进程”和“数据连接”。

  • 数据连接用来连接客户端和服务器端的数据传送进程,数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行

主动模式PORT和被动模式PASV

主动模式:客户端连接服务器21端口,登陆成功后要读取数据时,客户端随机开放一个端口,然后发送命令告知服务器,服务器收到PORT命令和端口号以后,用20端口和客户端建立连接,发送数据

可以看做是服务器的20端口去连接客户端的一个随机端口,可以看做服务器主动连接客户端

被动模式:客户端连接服务器21端口,登陆成功后要读取数据时,客户端要读取数据,然后发送PASV命令告知服务器,服务器收到后开放一个随机端口,告知客户端,客户端来进行连接,连接好以后进行传输。

可以看做是客户端端口去连接服务器的随机端口,可以看做客户端主动连接服务器,服务器是被动的所以叫做被动模式

一般默认是主动模式,即服务器通过20端口连接客户端


  • 因为FTP使用了一个分离的控制连接,所以也称FTP的控制信息是带外(Out-of-band) 传送的。
  • 使用FTP时,若要修改服务器上的文件,则需要先将此文件传送到本地主机,然后再将修改后的文件副本传送到原服务器,来回传送会花费很多时间。
  • 网络文件系统(NFS)允许进程打开一个远程文件,并在该文件的某个特定位置开始读写数据。这样,NFS可使用户复制一个大文件中的一个很小的片段,而不需要复制整个大文件。

4.电子邮件

0.思维导图

在这里插入图片描述

1.电子邮件的信息格式

  • 一个电子邮件分为信封和内容两大部分,邮件内容分为首部和主体两部分。
  • RFC 822规定了邮件的首部格式,而邮件的主体部分则让用户自由撰写。
  • 用户写好首部后,邮件系统自动地将信封所需的信息提取出来并写在信封上,用户不需要亲自填写信封上的信息。
  • 邮件内容的首部包含一些首部行,每个首部行由一个关键字后跟冒号再后跟值组成。有些关键字是必需的,有些则是可选的。最重要的关键字是To和Subject。
  • To是必需的关键字,后面填入一个或多个收件人的电子邮件地址。
  • 电子邮件地址的规定格式为:收件人邮箱名@邮箱所在主机的域名如abc@cskaoyan.com,其中收信人邮箱名即用户名,abc在cskaoyan.com这个邮件服务器上必须是唯一的 。这也就保证了abc@cskaoyan.com 这个邮件地址在整个因特网上是唯一的。
  • Subject是可选关键字,是邮件的主题,反映了邮件的主要内容。
  • 还有一个必填的关键字是From,但它通常由邮件系统自动填入。
  • 首部与主体之间用一个空行进行分割。典型的邮件内容如下:
  • 在这里插入图片描述

2.电子邮件系统的组成结构

  • 电子邮件是一种异步通信方式,通信时不需要双方同时在场。

  • 电子邮件把邮件发送到收件人使用的邮件服务器,并放在其中的收件人邮箱中,收件人可以随时上网到自己使用的邮件服务器进行读取。

    在这里插入图片描述


  • 一个 电子邮件系统应具有三个最主要的组成构件:用户代理(User Agent)、邮件服务器、电子邮件使用的协议,如SMTP、POP3 (或IMAP)等。

    在这里插入图片描述

用户代理(UA):用户与电子邮件系统的接口。

  • 用户代理使用户能够通过一个很友好的接口发送和接收邮件,用户代理至少应当具有撰写、显示和邮件处理的功能。
  • 通常情况下,用户代理就是一个运行在PC.上的程序,常见的有Outlook、Foxmail 和Thunderbird等。

邮件服务器:组成电子邮件系统的核心。

  • 邮件服务器的功能是发送和接收邮件,同时还要向发信人报告邮件传送的情况(已交付、被拒绝、丢失等)。
  • 邮件服务器采用客户/服务器方式工作,但它能够同时充当客户和服务器。
  • 例如,当邮件服务器A向邮件服务器B发送邮件时,A就作为SMTP客户,而B是SMTP服务器;反之,当B向A发送邮件时,B就是SMTP客户,而A就是SMTP服务器。

邮件发送协议和读取协议:

  • 邮件发送协议用于用户代理向邮件服务器发送邮件或在邮件服务器之间发送邮件,通常使用的是SMTP;
  • 邮件读取协议用于用户代理从邮件服务器读取邮件,如POP3
  • SMTP采用的是“推”(Push)的通信方式,即在用户代理向邮件服务器发送邮件及在邮件服务器之间发送邮件时,SMTP客户端主动将邮件“推”送到SMTP服务器端。
  • POP3采用的是“拉”(Pull)的通信方式,即用户读取邮件时,用户代理向邮件服务器发出请求,“拉”取用户邮箱中的邮件。

3.电子邮件协议

1.SMTP

在这里插入图片描述

(1)连接建立

在这里插入图片描述

  • 发件人的邮件发送到发送方邮件服务器的邮件缓存中后,SMTP客户就每隔一定 时间对邮件缓存扫描一次。
    如发现有邮件,就使用SMTP的熟知端口号(25) 与接收方邮件服务器的SMTP服务器建立TCP连接。

  • 连接建立后,接收方SMTP服务器发出220 Service ready (服务就绪)。然后SMTP客户向SMTP服务器发送HELO命令,附上发送方的主机名。

    • 如果SMTP服务器有能力接收邮件,那就回复 250 OK
    • 否则 回复 421 Service not available
  • SMTP不使用中间邮件服务器。

    TCP连接总是在发送方和接收方这两个邮件服务器之间直接建立,而不管它们相隔多远。

    接收方的邮件服务器因故障暂时不能建立连接时,会告知发送方,发送方的邮件服务器只能等待一段时间后再次尝试连接。

(2)邮件传送

在这里插入图片描述

  • 连接建立后,就可开始传送邮件。邮件的传送从MAIL命令开始,MAIL 命令后面有发件人的地址。如MAIL FROM: hoopdog@hust.edu.cn
  • 若SMTP服务器已准备好接收邮件,则回答250 OK
  • 接着SMTP客户端发送一个或多个RCPT (收件人recipient的缩写)命令,格式为RCPTTO: <收件人地址>。
    每发送一个 RCPT命令,都应有相应的信息从SMTP服务器返回,如250 OK或550 No such user here (无此用户)。
    RCPT命令的作用是,先弄清接收方系统是否已做好接收邮件的准备,然后才发送邮件,以便不至于发送了很长的邮件后才知道地址错误,进而避免浪费通信资源。
  • 获得0K的回答后,客户端就使用DATA命令,表示要开始传输邮件的内容。
    正常情况下,SMTP服务器回复信息是354 Start mail input; end with . 。表示回车换行。此时SMTP客户端就可开始传送邮件内容,并用. (两个回车,中间一个点)表示邮件内容的结束。
    • 传输内容完毕的末尾也要加上这些字段表示传输完了
  • 然后回复 250 OK

(3)连接释放

  • 邮件发送完毕后,SMTP客户应发送QUIT命令。
  • SMTP服务器返回的信息是221 (服务关闭),表示SMTP同意释放TCP连接。
  • 邮件传送的全部过程就此结束。
MIME—多用途网络邮件扩充
  • 由于SMTP只能传送一定长度的ASCII码,许多其他非英语国家的文字(如中文、俄文,甚至带重音符号的法文或德文)就无法传送,且无法传送可执行文件及其他二进制对象,因此提出了多用途网络邮件扩充(Multipurpose Internet MailExtensions,MIME)。

  • MIME并未改动SMTP或取代它。MIME的意图是继续使用目前的格式,但增加了邮件主体的结构,并定义了传送非ASCII码的编码规则。也就是说,MIME邮件可在现有的电子邮件程序和协议下传送。MIME与SMTP的关系如图

    在这里插入图片描述

MIME主要包括以下三部分内容:

  • ①5个新的邮件首部字段,包括MIME版本、内容 描述、内容标识、内容传送编码和内容类型。
  • ②定义了许多邮件内容的格式,对多媒体电子邮件的表示方法进行了标准化。
  • ③定义了传送编码,可对任何内容格式进行转换,而不会被邮件系统改变。
2.POP3

在这里插入图片描述

  • 邮局协议( Post Office Protocol, POP) 是一个非常简单但功能有限的邮件读取协议,现在使用的是它的第3个版本POP3。

  • POP3 采用的是“拉”(Pull)的通信方式,当用户读取邮件时,用户代理向邮件服务器发出请求,“拉”取用户邮箱中的邮件。

  • POP也使用客户/服务器的工作方式,在传输层使用TCP,端口号为110。接收方的用户代理上必须运行POP客户程序,而接收方的邮件服务器上则运行POP服务器程序。

  • POP有两种工作方式:“下载并保留”和“下载并删除”。

    “下载并保留”方式下,用户从邮件服务器上读取邮件后,邮件依然会保存在邮件服务器上,用户可再次从服务器上读取该邮件;

    使用“下载并删除”方式时,邮件一旦被读取,就被从邮件服务器上删除,用户不能再次从服务器上读取。

IMAP—因特网报文存取协议

在这里插入图片描述

  • 另一个邮件接收协议是因特网报文存取协议(IMAP),它比POP复杂得多,IMAP为用户提供了创建文件夹、在不同文件夹之间移动邮件及在远程文件夹中查询邮件的命令,为此IMAP服务器维护了会话用户的状态信息
  • IMAP的另一特性是允许用户代理只获取报文的某些部分,例如可以只读取一个报文的首部,或一个多部分MIME报文的一部分。这非常适用于低带宽的情况,用户可能并不想取回邮箱中的所有邮件,尤其是包含很多音频或视频的大邮件。
3.万维网的电子邮件

在这里插入图片描述

  • 随着万维网的流行,目前出现了很多基于万维网的电子邮件,如Hotmail、Gmail 等。
  • 这种电子邮件的特点是,用户浏览器与Hotmail或Gmail的邮件服务器之间的邮件发送或接收使用的是HTTP而不是POP3或者SMTP,而仅在不同邮件服务器之间传送邮件时才使用SMTP.

5.WWW万维网和HTTP

image-20250529153949297

image-20250529155433029

1.访问网页的过程

image-20250529151057514

image-20250529151217989

访问网站之前,要先配置默认网关和DNS服务器,这些都是由DHCP服务器配置完成的

image-20250529151639726

image-20250529151827490

2.HTTP的工作方式

了看文字还要看 王道这一节的pdf,看看这块相关的

分为非持续连接,持续链接但是非流水线,持续链接并且流水线这三种方式

下面以例子来说明三种工作方式

服务器先把网页html发给web服务器,浏览器解析一下发现还要三个元素

image-20250529152358323

1.非持续链接就是

给web发html文件是一次tccp连接,然后发完以后断开

然后再用三次tcp连接 分别获取三个元素

一共4个http请求,4个http响应,4个tcp连接

并且每个发过去http请求 得等到一个http响应以后才发下一个请求

2.持续链接但是非流水线 就是

给web发html文件时建立tcp连接,然后继续用本连接收发元素

一共4个http请求,4个http响应,1个tcp连接

并且每个发过去http请求 得等到一个http响应以后才发下一个请求

3.持续链接并且流水线 就是

给web发html文件时建立tcp连接,然后继续用本连接收发元素

一共4个http请求,4个http响应,1个tcp连接

但是和非流线不同的是,除开html文件这个http请求以外,剩下的三个http请求可以一起发送,也就是连续发三个http请求,然后服务器可以返回三个http响应

注:

1.非持续链接时,在四次挥手开始时就可以开始下一次三次握手了,不是非得等到这次tcp连接四次挥手结束才行

2.HTTP请求报文通常很小,不考虑传输时延,但响应报文很大,通常要考虑传输时延

3.持续连接方式传输完文件后不会立刻关闭,而是会等待一段时间,由程序员决定

4.非持续链接的三个元素的http请求与响应可以多开2个进程并行执行,这样的话会节省很多的时间

3.HTTP报文格式

image-20250529154154984

HEAD一般是GET之前用来询问当前请求的URL里面有没有我要的东西,不带文件就可以用比较小的代价来完成

页登录的账号密码就是用过POST交给服务器的
GET 请求的参数暴露

  • 参数位置:GET 请求的参数通过 URL 的查询字符串(?key=value)传递

POST 请求的数据隐藏

  • 参数位置:POST 请求的数据存放在 HTTP 请求的正文(Body)中,不会出现在 URL 中
    image-20250529154907663

4. Cookie

image-20250529155257264

image-20250529155409455

http://www.xdnf.cn/news/722017.html

相关文章:

  • 解析C++排序算法
  • linux服务器ssh远程中文显示问号
  • VL 中间语言核心技术架构:构建全链路开发生态
  • 【仿生系统】潜移默化 —— Claude4 的解决方案
  • java上机测试错题回顾(4)
  • JAVA与C语言之间的差异(一)
  • 王树森推荐系统公开课 特征交叉01:Factorized Machine (FM) 因式分解机
  • vue自定义穿梭框(内容体+多选框)
  • SMT贴片工艺核心要点解析
  • 连接远程桌面计算机提示:“这可能是由于CredSSP加密数据库修正” 问题解决方案
  • OpenLayers 地图打印
  • C++创建对象过程
  • 攻防世界-BadProgrammer
  • siglip2(2) Naflex模型的动态分辨率原理
  • 微信小店推客系统带来的便利性
  • IPTV电视直播 1.6.0 | 手机电视直播 秒播无卡顿
  • 短视频一键搬运 v1.7.1|短视频无水印下载 一键去重
  • 计算几何 视频截图
  • int和Integer的区别
  • vue3+element plus 关于el-dialog__body无法选中的问题
  • 掌握STP技术:网络环路终结者实战
  • cf2067A
  • 定位例子(vue3)
  • 告别RAG上下文丢失:Late Chunking 与 Contextual Retrieval 深度对比解析
  • 【实证分析】上市公司全要素生产率+5种测算方式(1999-2024年)
  • OTA中版本灰度发布、用户反馈闭环浅谈
  • 深度解构:Profinet转Profibus网关如何重塑产品分离装置的控制逻辑
  • 【测试】设计测试⽤例方法
  • 键盘录入的两套体系区别(Random)
  • 【速通RAG实战:进阶】16、AI生成思维导图全技术解析