第二章应用层

文章目录


在这里插入图片描述

一、计算机网络应用体系结构

1.客户 / 服务器(C / S)结构网络应用

C/S结构的网络应用是最典型、最基本的网络应用。
例如:www应用;文件传输;电子邮件;


C/S结构的特点
①网络通信双方分为客户程序服务器程序,用户与用户之间不进行直接通信。
服务器程序先运行,做好接受通信的准备。
客户程序后运行,主动与服务器进行通信

2.纯P2P结构网络应用

P2P:(Peer to Peer)[Peer:对等端]
通信双方没有传统意义上的客户服务器之分,地位对等,通信双方都具备客户与服务器的特征。
例如:BitTorrent、PPLive和PPstream等。
在这里插入图片描述


P2P应用特点:

  1. 应用的对等方是用户的计算机
  2. 很强的应用规模伸缩性
  3. 应用在对等方之间进行。
  4. 应用充分聚集利用了端系统的计算能力以及网络传输宽带。

3.混合结构网络应用

混合结构网络应用:C/S应用和P2P应用相结合。
案例:IPTV

二、网络应用通信的基本原理

1.网络应用的基本通信过程

运行在不同主机上的应用进程间以C/S方式进行通信。
在这里插入图片描述

2.网络应用编程接口

API: Application Programming Interface 应用编程接口

套接字(Socket) 是典型的网络应用编程接口。
端口号是标识套接字的编号。
在这里插入图片描述

3.标准化应用为不同的服务器分配的默认端口号

在这里插入图片描述

三、域名系统(DNS)

域名www.baidu.com人用方便
IP地址115.239.211.122计算机用方便

1.域名系统(Domain Naming System,DNS)

域名解析:将域名映射为IP地址
在这里插入图片描述

2.层次化域名空间

a.域名的命名方式:层次树状结构命名方式。

每个域名由不同级别的域名构成,各个层级域名之间用点分隔。
在这里插入图片描述

b.顶级域名的分类

  1. 国家顶级域名:cn,us,uk等
  2. 通用顶级域名:com,org,gov,edu等
  3. 基础结构域名:只有一个arpa(反向域名解析)。

3.域名服务器

a.DNS服务器

根据其主要保存的域名信息以及在域名解析过程的作用,可以分为:根域名服务器、顶级域名服务器、权威域名服务器、中间域名服务器

本地(默认)域名服务器:主机在网络地址配置时,都会配置的。用于保存被查询域名的信息。

b.域名解析过程:

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

①根域名服务器

最重要的服务器,全球有13个,以a~m英文字母命名。
保存所有顶级域名服务器的域名IP地址

②顶级域名服务器

负责管理在该顶级域名服务器注册的所有二级域名。

③权威域名服务器

保存该区中的所有主机的域名和IP地址的映射。

④中间域名服务器

不是以上三种的域名服务器

c.区(zone)

一个服务器所负责管辖的范围。
DNS服务器:管辖范围以『区』为单位。

4.域名解析过程

a.递归解析

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

b.迭代解析

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

四、万维网应用

1.万维网应用结构(World Wide Web应用)

a.结构

在这里插入图片描述

b.统一资源定位符 (Universal Resource Locator,URL)

在这里插入图片描述

2.超文本传输协议【Hyper Text Transfer Protocol,HTTP】

a.HTTP概述

Web应用的应用层协议,定义浏览器如何向Web服务器发送请求,以及Web服务器如何进行响应。
版本:HTTP/1.0 和 HTTP/1.1

b.HTTP连接

①HTTP连接

HTTP基于传输层的TCP传输报文。浏览器在向服务器发送请求之前,首先建立TCP连接,然后才发送HTTP请求报文,接收HTTP响应报文。

PS:传输控制协议(TCP,Transmission Control Protocol)


②RTT:作为一个时间单位来使用

例如:HTTP客户进程向服务器请求建立连接:从客户发送连接请求,到客户收到服务器连接确认,用时一个往返时间(Round Trip Time, RTT)。


③HTTP连接分类:使用TCP连接的策略不同

在这里插入图片描述

非持久连接也叫短连接
持久连接也叫长连接

1)非持久连接

客户与服务器建立TCP连接后,通过该连接发送HTTP请求报文,接收HTTP响应报文,然后断开TCP连接。每次请求传输一个对象,都需要重新建立一个TCP连接。

以请求浏览一个引用3个JPG小图像的Web页面为例:
在这里插入图片描述
非持久连接HTTP的响应时间:8个RTT。

2)并行连接

在这里插入图片描述

以请求浏览一个引用3个JPG小图像的Web页面为例:
在这里插入图片描述
并行连接HTTP的响应时间:4个RTT。

3)非流水方式持久连接(非管道方式持久连接)

建立TCP连接,发送请求和接收响应后,不断开TCP连接,继续请求。

以请求浏览一个引用3个JPG小图像的Web页面为例:
在这里插入图片描述
非流水方式持久连接HTTP的响应时间:5个RTT。

4)流水方式持久连接(管道方式持久连接)

建立TCP连接,发送请求和接收响应后,不断开TCP连接,继续 『并行』 请求资源。

以请求浏览一个引用3个JPG小图像的Web页面为例:
在这里插入图片描述
流水方式持久连接HTTP的响应时间:3个RTT。

c.HTTP报文

分为请求报文和响应报文:
请求报文:浏览器发送给Web服务器。
响应报文:Web服务器发送给浏览器。

请求报文响应报文
起始行请求行:<方法><协议版本>状态行:<协议版本><状态码><短语>
首部行携带附加信息携带附加信息
空白行CRLFCRLF
报文主体一般没有一般没有

PS:在这里插入图片描述

①HTTP典型的请求方法

在这里插入图片描述

②常见的HTTP状态码与短语

在这里插入图片描述

扩展:在这里插入图片描述

3.小型文本文件(Cookie)

a.概念

HTTP服务器不保存客户的任何信息,被称为无状态协议。从而引入Cookie机制,用于用户跟踪。

Cookie是网站为了辨别用户身份、进行会话跟踪而存储在用户本地终端上的数据。

b.Cookie技术主要包括内容

  1. HTTP响应报文中的Cookie头行:用户的Cookie ID,用户偏好等。
  2. 用户浏览器在本地存储、维护和管理的Cookie文件。
  3. HTTP请求报文中的Cookie头行:用户已访问过的网站再次访问时,浏览器会检索本地Cookie文件。
  4. 网站在后台数据库中存储、维护Cookie信息:分配用户ID、每个ID用户在本网站的访问特征等。

c.Cookie常见用途

  1. 利用Cookie的ID来准确统计网站的实际访问人数、新老人数对比、访问频率等。
  2. 利用Cookie限制某些特定用户的访问。
  3. 存储用户访问过程中的操作习惯和偏好。
  4. 记录用户登录网站的用户名、密码等信息。
  5. 电子商务网站利用Cookie实现『购物车』功能。

d.Cookie的分类

永久Cookie:Cookie保存在硬盘中。有效周期可以设置,关闭浏览器不影响Cookie有效周期。
会话Cookie:Cookie保存在内存中。Cookie有效周期是浏览器会话期间,关闭浏览器,Cookie消失。

e.Cookie工作原理【了解】

在这里插入图片描述

五、Internet电子邮件系统结构

  1. 邮件服务器
  2. 用户代理
  3. 简单邮件传输协议(SMTP)
  4. 邮件读取协议(POP3、IMAP、HTTP)

在这里插入图片描述

1.邮件服务器

邮件服务器是电子邮件体系结构的核心
功能:

  1. 发送和接收邮件
  2. 向发信人报告邮件传送情况(已交付、被拒绝、丢失等)
  3. 用户注册
  4. 分配存储空间

2.用户代理

用户代理是电子邮件应用的客户端软件。
例如:Outlook,Apple Mail,Fox Mail等~
功能:
支持用户撰写、显示、处理和收发邮件。
为用户阅读、回复、转发、保存和撰写邮件提供编辑与操作环境。

3.SMTP(简单邮件传输协议)

简单邮件传输协议(Simple Mail Transfer Protocol, SMTP): 实现邮件服务器之间或用户代理到邮件服务器之间的邮件传输


SMTP通过 3个阶段 的应用层交互完成邮件的传输:
在这里插入图片描述


SMTP定义了14条命令,每条命令用4个字母组成。
例如:
HELO:标识发件人自己的身份;
DATA:通知服务器准备开始发送邮件内容;
QUIT:命令退出;


SMTP定义了21种应答信息,由3位数字的代码开始,后面可附上简单的文字说明。
在这里插入图片描述


SMTP客户(C)和SMTP服务器(S)之间一封简单邮件传输的交互过程示例:
在这里插入图片描述


SMTP的特点:

  1. SMTP只能传送7位ASCⅡ码文本内容,包括SMTP命令、应答消息以及邮件内容。
  2. SMTP传送的邮件内容中不能包含『CRLF.CRLF』,因为该信息用于标识邮件内容的结束
  3. SMTP是 『推动』 协议。【HTTP是『拉动』协议】
  4. SMTP使用TCP连接是持久的。

4.电子邮件格式与MIME

a.电子邮件格式

  1. 首部
  2. 空白行
  3. 行主体

在这里插入图片描述

b.MIME(互联网邮件拓展 Multipurpose Internet Mail Extensions)

传输非7位ASCⅡ码文本内容时,必须依据一个标准将非7位ASCⅡ码文本内容转换为7位ASCⅡ码文本内容,然后再传输。
这就用到了MIME。

5.邮件读取协议

是支持接收邮件的用户主动连接服务器,对其邮箱中的邮件进行操作或申请向本地传输的应用层协议。

协议名缩写英文全称【了解即可】
第三版邮局协议POP3Post Office Protocol - Version 3
互联网邮件访问协议IMAPInternet Message Access Protocol
Web邮件系统的邮件读取协议HTTPHyperText Transfer Protocol

a.POP3(第三版邮局协议)

在这里插入图片描述

b.IMAP(互联网邮件访问协议)

IMAP服务器将每个邮件与一个文件夹进行关联,通过IMAP收件人可以对邮件进行移动、查询、阅读、删除等操作。

IMAPPOP3
相同点邮件读取协议邮件读取协议
不同点对邮件的操作会反映在服务器上对邮件的操作不会反映在服务器上

c.HTTP(Web邮件系统的邮件读取协议)

在这里插入图片描述

六、FTP

1.FTP应用结构与FTP命令

a.FTP(文件传送协议 File Transfer Protocol)

在互联网的俩个主机间实现文件互传的网络应用的应用层协议。

b.FTP服务器进程的组成

  1. 主进程:负责接受新的客户请求。【拿公司举例子的话像公司的前台,负责接待】
  2. 从属进程:负责处理单个客户请求,与具体客户进行交互。【拿公司举例子的话像公司的业务员,负责具体业务】

c.控制连接

用户登录、服务器授权
FTP专门使用一个独立的控制连接传输控制信息,与传输文件信息进行分离,所以将FTP这种控制信息的传送方式称为带外控制

d.数据连接

专门用于文件传输
在这里插入图片描述

e.FTP是有状态的协议

七、Socket编程基础

1.Socket API函数

  1. 创建套接字:socket()
  2. 绑定套接字的本地端点地址:bind()
  3. 设置监听:listen()
  4. 建立连接:
    ①TCP客户端:connect()
    ②TCP服务端:accept()
  5. 接收数据:
    ①TCP:recv()
    ②UDP:recvfrom()
  6. 发送数据:
    ①TCP:send()
    ②UDP:sendto()
  7. 关闭套接字:close()
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值