计算机网络之应用层

本文章目录结构出自于《王道计算机考研 计算机网络_哔哩哔哩_bilibili

05 应用层

在网上看到其他人做了相关笔记,就不再多余写了,直接参考着学习吧。  

王道考研 计算机网络笔记 第六章:应用层_王道考研 应用层 笔记-CSDN博客

DNS:指域名系统(Domain Name System)

HTTP:指超文本传输协议(Hypertext Transfer Protocol)

DNS协议

DNS(域名解析协议)详解_域名协议解析-CSDN博客

DNS域名详细解析过程(最全面,看这一篇就够)_dns解析-CSDN博客

FTP协议

【网络协议详解】——FTP系统协议(学习笔记)_ftp协议详解-CSDN博客

HTTP协议

Http协议详解(深入理解)-CSDN博客

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协议-CSDN博客

在路由器上设置DNS解析器可以优化网络性能、增强网络安全性,并简化设备管理。以下是在路由器上设置DNS解析器的具体优势:

  1. 提高网络访问速度:通过在路由器上统一设置DNS服务器,可以缓存域名解析结果,减少重复查询,从而加快整个局域网的互联网访问速度。

  2. 简化设备配置:当新设备连接到网络时,路由器会自动为其分配IP地址,并提供DNS服务器地址,无需在每个设备上单独设置DNS,简化了网络管理。

  3. 提升网络稳定性:路由器通常拥有更稳定的运行环境和能源供应,其上的DNS设置相比终端设备更不易受到干扰或断电影响,从而提高网络的稳定性。

  4. 增强网络安全:高质量的DNS提供商能提供一定级别的安全保护,如防止钓鱼和恶意软件攻击,通过在路由器上配置这些DNS,可提升网络安全性。

  5. 实现容错性和负载均衡:可以在路由器上配置主DNS和备用DNS服务器地址,增加网络的容错性。同时,路由器级别的DNS配置可以根据需要将请求分散到不同的DNS服务器上,实现负载均衡。

  6. 支持高级功能和家长控制:某些路由器允许用户进行进阶的DNS设置,如DNS过滤规则、DNS重写等。家长可以通过更改路由器上的DNS设置来限制孩子的互联网使用,例如使用专为儿童安全设计的DNS服务,轻松实现对儿童不宜内容的过滤。

综上所述,路由器上设置DNS解析器不仅可以优化网络性能和安全性,还能简化设备管理,支持高级功能,是家庭和小型企业网络管理中的一个重要环节。

http协议 

参考

HTTP协议超级详解_xttb协议-CSDN博客

补充:

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编码的形式发送。

请求体

请求体中包含实际要发送的数据,但在这个例子中没有显示出来。通常,这些数据可能包括设备信息、用户信息以及其他必要的参数。

总结

这个请求的目的是将设备注册到服务器上,通过提供必要的认证信息和设备详情,以便服务器能够识别并记录该设备。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/7508.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信小程序date picker的一些说明

微信小程序的picker是一个功能强大的组件&#xff0c;它可以是一个普通选择器&#xff0c;也可以是多项选择器&#xff0c;也可以是时间、日期、省市区选择器。 官方文档在这里 这里讲一下date picker的用法。 <view class"section"><view class"se…

Pyecharts图表交互功能提升

在数据可视化中&#xff0c;交互功能可以极大地提升用户体验&#xff0c;让用户能够更加深入地探索数据。Pyecharts 提供了多种强大的交互功能&#xff0c;本篇将重点介绍如何使用缩略轴组件、配置图例交互&#xff0c;让我们的数据可视化作品更加生动有趣。 一、缩略轴组件使…

奇怪的单词(快速扩张200个单词)

这是一些非常奇怪的单词&#xff1a; screw n.螺丝&#xff1b;螺丝钉 screwdriver n.起子&#xff0c;螺丝刀&#xff0c;改锥 copulation n.连接 copulate a.配合的 bonk n.撞击&#xff1b;猛击 v.轻击&#xff1b;碰撞ebony n.黑檀couple n.夫妇blonde n.金发女郎intimacy…

Ubuntu20.04 深度学习环境配置(持续完善)

文章目录 常用的一些命令安装 Anaconda创建conda虚拟环境查看虚拟环境大小 安装显卡驱动安装CUDA安装cuDNN官方仓库安装 cuDNN安装 cuDNN 库验证 cuDNN 安装确认 CUDA 和 cuDNN 是否匹配&#xff1a; TensorRT下载 TensorRT安装 TensorRT 本地仓库配置 GPG 签名密钥安装 Tensor…

Android多语言开发自动化生成工具

在做 Android 开发的过程中&#xff0c;经常会遇到多语言开发的场景&#xff0c;尤其在车载项目中&#xff0c;多语言开发更为常见。对应多语言开发&#xff0c;通常都是在中文版本的基础上开发其他国家语言&#xff0c;这里我们会拿到中-外语言对照表&#xff0c;这里的工作难…

数据结构——堆(C语言)

基本概念&#xff1a; 1、完全二叉树&#xff1a;若二叉树的深度为h&#xff0c;则除第h层外&#xff0c;其他层的结点全部达到最大值&#xff0c;且第h层的所有结点都集中在左子树。 2、满二叉树&#xff1a;满二叉树是一种特殊的的完全二叉树&#xff0c;所有层的结点都是最…

const的用法

文章目录 一、C和C中const修饰变量的区别二、const和一级指针的结合const修饰的量常出现的错误是:const和一级指针的结合总结&#xff1a;const和指针的类型转换公式 三、const和二级指针的结合 一、C和C中const修饰变量的区别 C中&#xff1a;const必须初始化&#xff0c;叫常…

机器学习-线性回归(参数估计之经验风险最小化)

给定一组包含 &#x1d441; 个训练样本的训练集 我们希望能够 学习一个最优的线性回归的模型参数 &#x1d498; 现在我们来介绍线性回归的一种模型参数估计方法&#xff1a;经验风险最小化。 我们前面说过&#xff0c;对于标签 &#x1d466; 和模型输出都为连续的实数值&…

appium自动化环境搭建

一、appium介绍 appium介绍 appium是一个开源工具、支持跨平台、用于自动化ios、安卓手机和windows桌面平台上面的原生、移动web和混合应用&#xff0c;支持多种编程语言(python&#xff0c;java&#xff0c;Ruby&#xff0c;Javascript、PHP等) 原生应用和混合应用&#xf…

视频多模态模型——视频版ViT

大家好&#xff0c;这里是好评笔记&#xff0c;公主号&#xff1a;Goodnote&#xff0c;专栏文章私信限时Free。本文详细解读多模态论文《ViViT: A Video Vision Transformer》&#xff0c;2021由google 提出用于视频处理的视觉 Transformer 模型&#xff0c;在视频多模态领域有…

使用Cline+deepseek实现VsCode自动化编程

不知道大家有没有听说过cursor这个工具&#xff0c;类似于AIVsCode的结合体&#xff0c;只要绑定chatgpt、claude等大模型API&#xff0c;就可以实现对话式自助编程&#xff0c;简单闲聊几句便可开发一个软件应用。 但cursor受限于外网&#xff0c;国内用户玩不了&#xff0c;…

【Linux】Linux编译器-g++、gcc、动静态库

只要积极创造&#xff0c;机遇无时不有&#xff1b;只要善于探索&#xff0c;真理无处不在。&#x1f493;&#x1f493;&#x1f493; 目录 ✨说在前面 &#x1f34b;知识点一&#xff1a;Linux编译器-g、gcc •&#x1f330;1. 背景知识 •&#x1f330;2. gcc如何完成 •…

Spring整合Mybatis、junit纯注解

如何创建一个Spring项目 错误问题 不知道什么原因&#xff0c;大概是依赖版本不兼容、java版本不对的问题&#xff0c;折磨了好久就是搞不成。 主要原因看pom.xml配置 pom.xml配置 java版本 由于是跟着22年黑马视频做的&#xff0c;java版本换成了jdk-11&#xff0c;用21以…

【架构面试】二、消息队列和MySQL和Redis

MQ MQ消息中间件 问题引出与MQ作用 常见面试问题&#xff1a;面试官常针对项目中使用MQ技术的候选人提问&#xff0c;如如何确保消息不丢失&#xff0c;该问题可考察候选人技术能力。MQ应用场景及作用&#xff1a;以京东系统下单扣减京豆为例&#xff0c;MQ用于交易服和京豆服…

MATLAB提供的颜色映射表colormap——伪彩色

图像处理领域的一个习惯&#xff1a;不是真实的颜色&#xff0c;一般用伪彩色。一是说明不是物体本身的颜色&#xff0c;二是彩色更容易分辨。 MATLAB陆续提供了16种颜色映射表colormap。 之前的都很丑&#xff0c;近5年新增的4种还可以。总的说来还是丑。 这是一种鸟的名字。…

案例研究丨浪潮云洲通过DataEase推进多维度数据可视化建设

浪潮云洲工业互联网有限公司&#xff08;以下简称为“浪潮云洲”&#xff09;成立于2018年&#xff0c;定位于工业数字基础设施建设商、具有国际影响力的工业互联网平台运营商、生产性互联网头部服务商。截至目前&#xff0c;浪潮云洲工业互联网平台连续五年入选跨行业跨领域工…

电脑无法开机,重装系统后没有驱动且驱动安装失败

电脑无法开机&#xff0c;重装系统后没有驱动且驱动安装失败 前几天电脑突然坏了&#xff0c;电脑卡住后&#xff0c;强制关机&#xff0c;再开机后开机马上就关机。尝试无数次开机后失败&#xff0c;进入BIOS界面&#xff0c;发现已经没有Windows系统了。重新安装系统后&…

C++异步future

&#x1f30e; C11异步futrue 文章目录&#xff1a; C11异步futrue future介绍     应用场景     future操作       std::async函数模版       std::packaged_task类模版       std::promise类模版 &#x1f680;future介绍 std::future是C11标准库…

【C++探索之路】STL---string

走进C的世界&#xff0c;也意味着我们对编程世界的认知达到另一个维度&#xff0c;如果你学习过C语言&#xff0c;那你绝对会有不一般的收获&#xff0c;感受到C所带来的码云风暴~ ---------------------------------------begin--------------------------------------- 什么是…

CF 339A.Helpful Maths(Java实现)

题目分析 输入一串式子&#xff0c;输出从小到大排列的式子 思路分析 如上所说核心思路&#xff0c;但是我要使用笨方法&#xff0c;输入一串式子用split分割开&#xff0c;但是此时需要用到转义字符&#xff0c;即函数内参数不能直接使用“”&#xff0c;而是“\\”。分割开后…