网络分层协议和应用模型

分层模型

五层网络模型

请添加图片描述
MAC地址跟IP地址的区别:MAC地址是唯一的,相当于每个人的指纹,出生时就是唯一的;IP地址就相当于是你当前的住址,是会发生变化的,但是是动态唯一的。

应用层协议

URL

URL(uniform resource locator,统一资源定位符)。用于定位网络服务。
请添加图片描述
它表示:从网络中哪台计算机(domain)中的哪个程序(port)寻找哪个服务(path),以及要用什么样的协议(schema)通信

协议为HTTP时,默认端口号为80 ,端口可省略不写
协议为HTTPS时,默认端口443,可省略

URI

URI(Uniform Resource Identifier)统一资源标识符,它包含两个子集:URL和URN(Uniform Resource Name)。URL是用来定位资源的,而URN是用来命名资源的。所以URL是URI的子集。

测试小例子:

如果访问一个地址http://www.baidu.com/imgs/1.png的结果返回了一个图片。那可以说明后端有一个/imgs/1.png这样的目录和文件吗?
答案是:并不能说明什么!!
因为访问地址链接到的是后端的程序,后端程序规定你用什么路径访问,你就得用什么路径访问,跟程序所在的文件路径没有关系

HTTP

超文本传输协议(Hyper Text Transfer Protocol)

该协议规定了两个方面的内容:

  • 传递消息的模式
  • 传递消息的格式

请添加图片描述
HTTP使用的消息传递模式,是【请求-响应模式】,非常简单,【请求-响应】完成后,一次交互结束。
HTTP消息格式是一种纯文本的格式,文本分为三个部分:

  • 请求行(包括请求方法(如GET、POST等)、请求的URL路径和HTTP协议版本号);对应响应行(包括HTTP协议版本号、状态码(表示请求的处理状态,如200表示成功,404表示未找到等)和对应的状态消息)
  • 请求头(用于传递关于消息的元数据信息,由多个键值对组成的列表,用于传递诸如内容类型、内容长度、缓存控制、认证信息等相关信息)
  • 请求体(携带具体的数据内容,常包含请求参数或数据);对应响应体(通常包含请求所得的资源数据或相关内容)消息主体可以是任意类型的数据,如文本、HTML、JSON、XML、二进制数据等。

HTTP和HTTPS的区别

1. 基本概念:

HTTP协议规定了如何从网站服务器传输超文本到本地浏览器,是基于客户端和服务器端架构工作的,它可以使浏览器更加高效、网络传输减少。
HTTPS是HTTP的安全版,在HTTP的基础上加入SSL层(加密/身份验证层),保证数据传输的安全性,并且确认网站的真实性。

2. 区别:

HTTP传输是明文传输,不安全;HTTPS在HTTP的基础上设计了SSL(Secure Sockets Layer)协议,用于对传输数据进行加密和身份认证。
主要区别如下:

  1. HTTPS协议需要申请CA(Certificate Authority,数字证书认证机构)证书,需要一定费用。
  2. HTTP是明文传输,数据未加密,安全性差;HTTPS具有加密的SSL安全协议,安全性好。
  3. HTTP和HTTPS使用的是不同的连接方式,HTTP的连接是无状态的。默认端口也不同:HTTP默认端口80,HTTPS默认端口443.
  4. HTTP页面响应速度更快,因为它使用的是TCP三次握手建立连接,客户端和服务端需要交换3个包,HTTPS协议除了三次握手交换3个包,SSL还需要交换9个包,共12个包。
3. http1.x 和http2.x区别
  1. HTTP2是二进制传输,HTTP1是文本传输
  2. HTTP2支持多路复用,即在单个TCP连接上同时发送多个HTTP请求和响应,显著提高性能和效率,充分利用网络资源。
  3. HTTP2头部压缩。将头信息压缩后再发送,并且客户端和服务端共同使用一张头信息表,这样每次传输时只需要传递这张表的ID就好了,根据索引ID查询头信息。
  4. HTTP2支持在未经客户端允许的情况下主动推送信息。
4. HTTPS工作原理:
  1. 客户端发起HTTPS请求,连接到服务端的443端口
  2. 要使用HTTPS协议,前提是要申请CA证书的,颁发证书的同时会产生一个私钥(钥匙)和公钥(锁头),私钥(钥匙)由服务端自己保存,不可泄漏,公钥(锁头)是附带在证书中的,可以公开;证书本身还附带一个电子签名,用来验证证书的完整性和真实性,可以防止证书被篡改。
  3. 服务端响应客户端请求后,将证书传递给客户端
  4. 客户端解析证书(这一步是浏览器内置的SSL/TLS实现),并对其进行验证(验证证书颁发机构是否可信、证书是否过期,证书中域名与实际域名是否一致)
  5. 如果证书没有问题,客户端就从证书中取出公钥,然后客户端生成一个随机码KEY,使用公钥对其加密,加密后发送给服务端,
  6. 服务端接收到加密的随机码KEY之后,使用私钥对其解密,得到相同的随机码KEY
  7. 至此,客户端和服务端建立安全连接。服务器可以用KEY对数据加密发送给客户端,客户端也可以用KEY对数据解密,双方使用对称加密实现数据传递。

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

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

相关文章

基于Colab训练的yolov4-tiny自定义数据集(可用于OpenCV For Unity)

参考资料文档和视频。 1.打开文档,点击【文件】【在云端硬盘中保存一份副本】,即将文档复制到自己云端硬盘。 2.打开该文件,按文中提示进行。 【代码执行程序】【更改运行时类型】修改运行时为GPU(免费的GPU不好用,收费的好用,某宝上几十元就可用一个月) 步骤1) !git…

如何调用occtproxy放入自己的wpf文件

1.创建一个wpf程序 2.添加项目occtproxy.vcxproj 3.把该项目配置类型设为dll 4.添加引用 5.报错显示,这是因为还没有生成dll 6.把occtproxy设为启动项目运行,设定输出目录在该目录下,生成dll 7.再运行,即可

一文整合工厂模式、模板模式、策略模式

为什么使用设计模式 今天终于有时间系统的整理一下这几个设计模式了, 这几个真是最常用的,用好了它们,你就在也不用一大堆的if else 了。能更好的处理大量的代码冗余问题。 在我们的实际开发中,肯定会有这样的场景:我…

2024年云仓酒庄新动态:铸就新篇章

原标题:刘总出席成都糖酒会:信任铸就云仓酒庄新篇章,共襄盛举展未来近日,备受瞩目的成都糖酒会盛大开幕,吸引了来自全国各地的业界精英和代表。在这场盛大的行业盛会上,云仓酒庄的刘总亲临现场。 现场&…

以XX大学校园为例的智慧能源管理系统建设方案【能源物联网+智能微电网数字校园、节能校园、低碳校园】

建设背景 贯彻落实《中共中央 国务院关于完整准确全面贯彻新发展理念做好碳达峰碳中和工作的意见》和《国务院关于印发2030年前碳达峰行动方案的通知》要求,把绿色低碳发展纳入国民教育体系。 2021年3月26日为推动信息技术与教育教学深度融合,教育部印…

2.6 IDE(集成开发环境)是什么

IDE(集成开发环境)是什么 IDE 是 Integrated Development Environment 的缩写,中文称为集成开发环境,用来表示辅助程序员开发的应用软件,是它们的一个总称。 通过前面章节的学习我们知道,运行 C 语言&…

eclipse导入svn项目

1、配置maven 2、用svn引入项目 3一直点击next,到最后选完成。

基于springboot的房屋租赁管理系统+数据库+免费远程调试

项目介绍: 基于springboot的房屋租赁管理系统。Javaee项目,springboot项目,采用M(model)V(view)C(controller)三层体系结构,通过Spring SpringBoot JspMaven来实现。MyS…

Qt_day4:2024/3/25

作业1: 完善对话框,点击登录对话框,如果账号和密码匹配,则弹出信息对话框,给出提示”登录成功“,提供一个Ok按钮,用户点击Ok后,关闭登录界面,跳转到其他界面 如果账号和…

【iOS ARKit】播放3D音频

3D音频 在前面系列中,我们了解如何定位追踪用户(实际是定位用户的移动设备)的位置与方向,然后通过摄像机的投影矩阵将虚拟物体投影到用户移动设备屏幕。如果用户移动了,则通过VIO 和 IMU更新用户的位置与方向信息&…

钡铼技术R40路由器助力构建无人值守的智能化污水处理厂

钡铼技术R40路由器作为智能化污水处理厂的关键网络设备,发挥着至关重要的作用,助力构建无人值守的智能化污水处理系统。在现代社会,污水处理是城市环境保护和可持续发展的重要组成部分,而智能化污水处理厂借助先进的技术和设备&am…

后端常问面经之Java基础

基本数据类型 Java中有8种基本数据类型: 6种数字类型: 4种整数型:byte、short、int、long 2种浮点型:float、double 1种字符类型:char 1种布尔类型:boolean 数据类型的默认值以及所占空间如下&#x…

由浅到深认识Java语言(25):正则表达式

该文章Github地址:https://github.com/AntonyCheng/java-notes 在此介绍一下作者开源的SpringBoot项目初始化模板(Github仓库地址:https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址:https://blog.c…

2024 Python3.10 系统入门+进阶(三):Python变量类型和运算符

目录 一、Python变量的定义和使用二、Python整数类型(int)详解三、Python小数/浮点数(float)类型详解四、Python复数类型(complex)详解---了解五、Python字符串详解(包含长字符串和原始字符串)5.1 处理字符串中的引号5.2 字符串的…

后端常见面经之JVM

JVM组成 有垃圾回收的是哪些地方? 垃圾回收主要是针对堆内存中的对象进行的,包括以下几个方面: 堆内存:垃圾回收主要针对堆内存中不再被引用的对象进行回收,包括新生代和老年代中的对象。 永久代/元空间&#xff1a…

Selenium 自动化 —— 切换浏览器窗口

更多内容请关注我的 Selenium 自动化 专栏: 入门和 Hello World 实例使用WebDriverManager自动下载驱动Selenium IDE录制、回放、导出Java源码浏览器窗口操作 平时我们在使用浏览器时,通常会打开多个窗口,然后再多个窗口中来回切换&#xf…

众邦科技CRMEB商城商业版任意文件写入getshell 0day

代码审计 接口:/adminapi/system/crud 处理的代码如下 public function save(SystemCrudDataService $service, $id 0){$data $this->request->postMore([[pid, 0],//上级菜单id[menuName, ],//菜单名[tableName, ],//表名[modelName, ],//模块名称[table…

手机网页视频无水印采集工具|抖音视频关键词批量下载软件

轻松获取手机网页视频无水印的神器!让您随心所欲畅享精彩视频内容! 随着网络视频的盛行,如何方便快捷地获取您感兴趣的视频内容成为一大需求。现推出一款手机网页视频无水印采集工具,功能强大,操作简便,助您…

[项目前置]如何用webbench进行压力测试

测试软件 采用webbench进行服务器性能测试。 Webbench是知名的网站压力测试工具,它是由Lionbridge公司开发。 webbench的标准测试可以向我们展示服务器的两项内容: 每秒钟相应请求数 和 每秒钟传输数据量 webbench测试原理是,创建指定数…

03-CSS盒模型(padding、margin、opactiy、cursor、display、css3前缀)

一、CSS盒模型 CSS 盒模型规定了处理元素内容、内边距、边框 和 外边距 的方式。最内部分是元素内容,直接包围内容的是内边距。内边距呈现了元素的背景。内边距的边缘是边框。边框以外是外边距。 1.元素的尺寸: height 设置元素的高度。属性值:auto&am…