本文章目录结构出自于《王道计算机考研 计算机网络_哔哩哔哩_bilibili》
05 应用层
在网上看到其他人做了相关笔记,就不再多余写了,直接参考着学习吧。
王道考研 计算机网络笔记 第六章:应用层_王道考研 应用层 笔记-CSDN博客
DNS:指域名系统(Domain Name System)HTTP:指超文本传输协议(Hypertext Transfer Protocol)
DNS协议DNS域名详细解析过程(最全面,看这一篇就够)_dns解析-CSDN博客
FTP协议
【网络协议详解】------FTP系统协议(学习笔记)_ftp协议详解-CSDN博客
HTTP协议
Http和Https协议有何区别?
HTTP以明文方式发送内容且没有提供任何形式的数据加密功能,在涉及敏感信息(如信用卡号、密码等支付相关内容)时存在安全隐患。因此,我们应该使用另一种更为安全可靠的协议:HTTPS。HTTPS在HTTP基础上引入了SSL协议,并通过证书验证服务器身份以确保通信过程中数据得到合理保护和加密处理。
补充什么是SSL:SSL协议原理详解-CSDN博客
注意和SSH区分:SSH与SSL有什么区别? - 闪电博 (wbolt.com)
SSH与SSL之间的异同
此时,您知道SSH与SSL之间有很多相似之处:
两者都可以帮助您创建安全连接。
两者都对在两个设备之间传递的数据进行加密。
SSH与SSL之间的主要区别在于,SSH用于创建通往另一台计算机的安全隧道,您可以从中发出命令、传输数据等。
另一方面,SSL用于在两方之间安全地传输数据------它不允许您像使用SSH那样发出命令。
例如,假设您在使用笔记本电脑。以下是您何时会遇到每个协议的示例:
SSH -- 如果您想安全地连接到您网站的服务器并使用WP-CLI来管理您的WordPress站点,您可以使用SSH。
SSL -- 如果您想与网站上的前端表单交互以提交数据,您的服务器将使用SSL来加密表单数据,因为它在您的Web浏览器和您的服务器数据库之间传输。
只要您安装了SSL证书并启用了HTTPS,访问您网站的每个人都将使用SSL与您网站的服务器进行交互------他们无需进行身份验证即可访问您的网站。
但是,唯一与SSH交互的人将是您或其他应该可以直接访问您的服务器并且可以使用用户名/密码或加密密钥进行身份验证的技术用户。
应用层协议属于最上层的协议。
动态主机配置协议DHCP动态主机配置协议DHCP(Dynamic Host Configuration Protocol)是一种网络管理协议,用于集中对用户IP地址进行动态管理和配置。
DHCP于1993年10月成为标准协议,其前身是BOOTP协议。DHCP协议由RFC 2131定义,采用客户端/服务器通信模式,由客户端(DHCP Client)向服务器(DHCP Server)提出配置申请,DHCP Server为网络上的每个设备动态分配IP地址、子网掩码、默认网关地址,域名服务器(DNS)地址和其他相关配置参数,以便可以与其他IP网络通信。
动态主机配置协议DHCP是应用层协议,使用客户/服务器方式(即客户端和服务端交互),客户端和服务端通过广播方式进行交互,基于UDP。
DHCP提供即插即用联网机制(只要设备进入DHCP服务器管辖范围内),主机可以从服务器动态获取IP地址、子网掩码、默认网关、DNS服务器名称与IP地址,允许地址重用(每一个DHCP服务器有自己的IP地址池,当一个设备进入服务器范围内,就给一个IP,做了以后就收回来,可以给其他设备用),支持移动用户加入网络,支持在用地址续租。
DHCP服务器聚合DHCP客户端的交换过程如下:
主机广播DHCP发现报文。一个主机连入局域网,广播给这个网络里所有设备,试图找到网络中的服务器;
DHCP服务器广播DHCP提供报文。如果网络内有DHCP服务器,且存在有空余IP地址的DHCP服务器,此时这些DHCP服务器就会拟分配给主机一个IP地址及相关配置,这个拟分配的信息主机会收到,但是还不能用。可能有多个DHCP服务器发来提供报文,但是主机只选择最先到的;
主机广播DHCP请求报文。主机向第一个发来提供报文DHCP服务器请求提供IP地址(这里还是用广播,告诉其他DHCP服务器已经有选中的服务器了);
DHCP服务器广播DHCP确认报文,服务器正式将IP地址分配给主机。
如下电脑中自动获取IP等信息
更多参考:
什么是DHCP?为什么要用DHCP? - 华为 (huawei.com)
DHCP 动态主机配置协议是应用层协议;作用是分配IP地址,子网掩码,网关地址和DNS(可设置IP地址租期等)
DHCP服务器一般是搭载在路由器上,也有其他方式,比如三层交换机,或者专门在linux上搭建的DHCP服务器等。
DNS协议详解
在路由器上设置DNS解析器可以优化网络性能、增强网络安全性,并简化设备管理。以下是在路由器上设置DNS解析器的具体优势:
提高网络访问速度:通过在路由器上统一设置DNS服务器,可以缓存域名解析结果,减少重复查询,从而加快整个局域网的互联网访问速度。
简化设备配置:当新设备连接到网络时,路由器会自动为其分配IP地址,并提供DNS服务器地址,无需在每个设备上单独设置DNS,简化了网络管理。
提升网络稳定性:路由器通常拥有更稳定的运行环境和能源供应,其上的DNS设置相比终端设备更不易受到干扰或断电影响,从而提高网络的稳定性。
增强网络安全:高质量的DNS提供商能提供一定级别的安全保护,如防止钓鱼和恶意软件攻击,通过在路由器上配置这些DNS,可提升网络安全性。
实现容错性和负载均衡:可以在路由器上配置主DNS和备用DNS服务器地址,增加网络的容错性。同时,路由器级别的DNS配置可以根据需要将请求分散到不同的DNS服务器上,实现负载均衡。
支持高级功能和家长控制:某些路由器允许用户进行进阶的DNS设置,如DNS过滤规则、DNS重写等。家长可以通过更改路由器上的DNS设置来限制孩子的互联网使用,例如使用专为儿童安全设计的DNS服务,轻松实现对儿童不宜内容的过滤。
综上所述,路由器上设置DNS解析器不仅可以优化网络性能和安全性,还能简化设备管理,支持高级功能,是家庭和小型企业网络管理中的一个重要环节。
http协议
参考
补充:
content-type字段
HTTP content-type | 菜鸟教程 (runoob.com)
host字段
在HTTP协议中,
Host
字段是请求头的一部分,用于指定目标服务器的主机名和端口号。它在HTTP/1.1协议中是必需的,因为一个服务器可能托管多个网站(虚拟主机),而Host
字段帮助服务器区分这些不同的网站。
Host
字段通常采用以下格式:Host: <hostname>[:<port>]
<hostname>
:目标服务器的主机名或IP地址。
<port>
:可选的端口号。如果省略端口号,默认使用标准端口(例如,HTTP使用80端口,HTTPS使用443端口)。举例说明
POST /device_registration/ HTTP/1.1 Host: xxx.xx.x.com Accept: */* Cookie: userId=2923487349;deviceId=92ac3652-abc2-481e-ab26-2f0fb091d46a; nonce=62aa15c4-8a82-4afb-ab14-0fbd6b7155b3; deviceToken=iLRGLSVASXOGW018Fcy4xQgDPn/nPf87Jpn6JE+BfAA=; signatureV2=GBDiX72GE7Atl/pG1WmgwOEAGBK0QmCmD6VJA5GPrjB8NUBXzwEoFFkKd4QiKNbhWHhYeEV5q7YPlhIFJQgSAA==; deviceTokenV2=GHCV6YxGQjDoR1NQCi6QLOUyC9KGQhDYjka5rBjHVje4ak39AJ7uR8A0R0Gnm5NHqotJeV6buvHgadpHTEBFWAKXO7/2duRysgCO5n1OkCfgzI002rlD49n7Af6RF1+XYdwj3GHWBA8MLNUJjPXc/AMgGBIX0cnJtiBEo4NyU6x6VtB1UwEYENaqGn30MNsluTrNhmL7CsUYFLGmssXHNdllyGDx3RWHuGjuhufwJQASAA== User-Agent: SOFT/XX/current/1.43.67 Content-Length: 1346 Content-Type: application/x-www-form-urlencoded
这是一个HTTP POST请求,用于向服务器注册设备。以下是对每个部分的解释:
请求行
POST /device_registration/ HTTP/1.1
方法 :
POST
表示客户端希望服务器处理提交的数据。请求URI :
/device_registration/
指定了要访问的资源路径。HTTP版本 :
HTTP/1.1
使用的HTTP协议版本。请求头
Host: xxx.xx.x.com Accept: */* Cookie: userId=2923487349;deviceId=92ac3652-abc2-481e-ab26-2f0fb091d46a; nonce=62aa15c4-8a82-4afb-ab14-0fbd6b7155b3; deviceToken=iLRGLSVASXOGW018Fcy4xQgDPn/nPf87Jpn6JE+BfAA=; signatureV2=GBDiX72GE7Atl/pG1WmgwOEAGBK0QmCmD6VJA5GPrjB8NUBXzwEoFFkKd4QiKNbhWHhYeEV5q7YPlhIFJQgSAA==; deviceTokenV2=GHCV6YxGQjDoR1NQCi6QLOUyC9KGQhDYjka5rBjHVje4ak39AJ7uR8A0R0Gnm5NHqotJeV6buvHgadpHTEBFWAKXO7/2duRysgCO5n1OkCfgzI002rlD49n7Af6RF1+XYdwj3GHWBA8MLNUJjPXc/AMgGBIX0cnJtiBEo4NyU6x6VtB1UwEYENaqGn30MNsluTrNhmL7CsUYFLGmssXHNdllyGDx3RWHuGjuhufwJQASAA== User-Agent: SOFT/XX/current/1.43.67 Content-Length: 1346 Content-Type: application/x-www-form-urlencoded
Host: 指定了目标服务器的域名 (xxx.xx.x.com)。
Accept : 指示客户端可以接受任何类型的响应内容(
/
)。Cookie: 包含了多个会话和身份验证相关的信息,如用户ID、序列号、设备ID、随机数、设备令牌等。
User-Agent: 标识了发出请求的客户端软件(SOFT/XX/current/1.43.67)。
Content-Length : 请求体的长度(
1346
字节)。Content-Type : 请求体的媒体类型(
application/x-www-form-urlencoded
),表示数据将以URL编码的形式发送。请求体
请求体中包含实际要发送的数据,但在这个例子中没有显示出来。通常,这些数据可能包括设备信息、用户信息以及其他必要的参数。
总结
这个请求的目的是将设备注册到服务器上,通过提供必要的认证信息和设备详情,以便服务器能够识别并记录该设备。