408计网应用层总结

网络应用模型

■客户/服务器模型(C/S):客户是服务请求方,服务器是服务提供方

■P2P模型:各主机都是客户,也都是服务器(任意一对计算机成称为对等方)

注:

1.客户端必须提前知道服务器的地址 ,而服务器不需要提前知道客户端的地址

2.客户端主要实现如何显示信息与收集用户的输入,而服务器主要实现数据的处理

3.浏览器显示的内容来自服务器

4.客户端是请求方,连接建立后,服务器可以主动发送数据(如:错误通知)

5.P2P网络是指在互联网中由对等结点组成的一种覆盖网络( Overlay Network ),是一种动态的逻辑网络,不是物理网络。

6.在向多个用户发送一个文件的时候,P2P模型通常比C/S模型所需时间短

域名系统DNS

层次域名空间

●顶级域名(.com)

●二级域名(baidu)

●三级域名(www)

域名服务器

1.根域名服务器(所有的根域名服务器都知道顶级域名服务器的IP地址)

2.顶级域名服务器

3.权限域名服务器

4.本地域名服务器

域名解析过程

●递归查询(实际中几乎不用)

●递归与迭代相结合的查询

注:

1.多个MAC地址,IP地址,主机都可以对应一个域名

2.Internet上提供的主机一定要有IP地址,不一定要有域名

3.在域名解析过程中,主机上请求域名解析的软件需要知道本地域名服务器的 IP。(正常情况下,客户机只需把域名解析请求发往本地域名服务器,其他事情都由本地域名服务器完成,并把最后结果返回给客户机。所以主机只需要知道本地服务器的IP)

4.每台主机都必须在授权域名服务器处注册登记,授权域名服务器一定能够将其管辖的主机名转换为该主机的 IP 地址。

5.DNS采用UDP来传输数据, UDP 是一种面向无连接的协议

文本传输协议(FTP)

FTP

●控制连接(21)

●数据连接(20)

注:

1.控制连接使用 TCP 的21号端口,数据连接使用 TCP 的20号端口

2.客户进程的端口号是客户进程自己提供的

3.http使用80端口号,SMTP使用25端口号

4.允许客户指名文件的类型与格式

5.FTP 服务器的数据要经过应用层、传输层、网络层、数据链路层及物理层,对应的就是数据、数据段、数据报、数据帧、比特。

6.FTP 客户和服务器间传递 FTP 命令时,使用的连接是:建立在 TCP 之上的控制连接

7.控制连接存在于整个 FTP 会话过程中,数据连接在每次文件传输时才建立,传输结束就关闭。

电子邮件

电子邮件的格式:用户名@邮箱所在主机的域名(5211314@163.com)

SMTP:C/S处理方式,使用的是TCP连接,端口号是25

●连接建立

●邮件传送

●连接释放

POP3和IMAP:

●POP3是C/S,TCP,端口号为110

●POP3是有连接可靠的数据传输

注:

1.随着万维网的流行,用户浏览器与 Hotmail 或 Gmail 的邮件服务器之间的邮件发送或接收使用的是 HTTP (如aba@163.com),而仅在不同邮件服务器之间传送邮件时才使用 SMTP 。

2.SMTP只能传输一定长度的ASCII码邮件,只支持传输7比特的ASCII码内容

3.POP3协议基于 ASCII 码,如果要传输非 ACSII 码的数据,那么要使用 MIME 将数据转换成 ASCII 码形式。

4.MIME(多用途网际邮件扩充)可以传输文字,语音,图像和视频等多种信息

5.POP3协议在传输层是使用明文来传输密码的,并不对密码进行加密

万维网

万维网的内核由三个部分:

●统一资源定位符(URL)

●超文本传输协议(HTTP)

●超文本标记语言(HTML)

URL:

URL格式:<协议>://<主机>:<端口>/<路径>

如:https://yzb.cust.edu.cn/ssszs/index.htm

HTTP的特点:

●HTTP 使用 TCP 作为传输层协议,保证了数据的可靠传输。

● HTTP 不必考虑数据在传输过程中被丢弃后又怎样被重传。

●HTTP 本身是无连接的。

●虽然 HTTP 使用了 TCP 连接,但通信的双方在交换 HTTP 报文之前不需要先建立 HTTP 连接。

●HTTP 是无状态的。服务器并不记得曾经访问过的这个客户,也不记得为该客户曾经服务过多少次。

●即可以非持久连接,也可以持久连接

import requests	# 导入requests模块
url = 'http://www.baidu.com/s?wd=你是我的神'
headers = {
        'Content-Type': 'text/html;charset=utf-8',
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36'
    }
r = requests.get(url,headers=headers)
print(r.headers)

HTTP的报文结构

●请求报文

●响应报文

注:

1.可以在 HTTP 中使用 Cookie 保存 HTTP 服务器和客户之间传递的状态信息

2.Cookie由服务器产生,储存在用户主机中的文本文件

3.Connection :连接方式, Close 表明为非持续连接方式, keep-alive 表示持续连接方式。

相关推荐
好喜欢吃红柚子5 分钟前
万字长文解读空间、通道注意力机制机制和超详细代码逐行分析(SE,CBAM,SGE,CA,ECA,TA)
人工智能·pytorch·python·计算机视觉·cnn
小馒头学python9 分钟前
机器学习是什么?AIGC又是什么?机器学习与AIGC未来科技的双引擎
人工智能·python·机器学习
神奇夜光杯19 分钟前
Python酷库之旅-第三方库Pandas(202)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
千天夜30 分钟前
使用UDP协议传输视频流!(分片、缓存)
python·网络协议·udp·视频流
测试界的酸菜鱼34 分钟前
Python 大数据展示屏实例
大数据·开发语言·python
羊小猪~~38 分钟前
神经网络基础--什么是正向传播??什么是方向传播??
人工智能·pytorch·python·深度学习·神经网络·算法·机器学习
放飞自我的Coder1 小时前
【python ROUGE BLEU jiaba.cut NLP常用的指标计算】
python·自然语言处理·bleu·rouge·jieba分词
正义的彬彬侠2 小时前
【scikit-learn 1.2版本后】sklearn.datasets中load_boston报错 使用 fetch_openml 函数来加载波士顿房价
python·机器学习·sklearn
张小生1802 小时前
PyCharm中 argparse 库 的使用方法
python·pycharm
秃头佛爷2 小时前
Python使用PDF相关组件案例详解
python