何为网络协议?一图知晓网络过程。

图片

网络协议就是计算机之间沟通的语言

为了有效地交流,计算机之间需要一种共同的规则或协议,

就像我们和老外沟通之前,要先商量好用哪种语言,

要么大家都说中文,要么大家都说英语,这才能有效地沟通。

网络协议就是计算机之间的语言,它们有一定的规则,规定了数据是怎么传输的,确保了数据在互联网上的传输是有序、可靠的。

🎢 链路过程

发送端:从下到上(应用层到物理层)。

接收端:从上到下(物理层到应用层)。

OSI参考模型:

OSI(Open System Interconnect),即开放式系统互连。

名称

层次

功能

物理层

1

实现计算机系统与网络间的物理连接

数据链路层 

2

进行数据打包与解包,形成信息帧

网络层

3

提供数据通过的路由

传输层

4

提供传输顺序信息与响应

会话层

5

建立和中止连接

表示层

6

数据转换、确认数据格式

应用层 

7

提供用户程序接口

协议层次

图片

下面这张动图形象地展示了8种流行的网络协议:

图片

图片

一、HTTP(超文本传输协议)

图片

「HTTP协议就像一个邮递员,负责把网页内容送到你的电脑上。」

**协议定义**:超文本传输协议(Hypertext Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使开发和部署非常地直截了当。

**场景**:当我们使用浏览器访问网页时,浏览器会向服务器发送HTTP请求,请求获取网页内容。服务器接收到请求后,会返回相应的HTML、CSS、JavaScript等文件,浏览器再将这些文件解析并渲染成我们看到的网页。

图片

二、HTTPS(超文本传输协议安全版)

图片

HTTPS协议就像一位保镖,守护着我们的信息安全。无论是在网上银行交易还是在网上购物,保镖都会确保我们的资金和个人信息不会被不法分子窃取。

**协议定义**:HTTPS (全称:Hypertext Transfer Protocol Secure),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面。

**场景**:在进行网上银行、网上支付或登录个人账号等敏感操作时,HTTPS协议会保护我们的数据不被窃取或篡改。通过使用加密技术,HTTPS确保数据在传输过程中的机密性和完整性。

图片

三、WebSocket

图片

「WebSocket就像一位实时的接线员,能够让我们与网站进行实时对话。无论是与朋友聊天还是查看股票行情,接线员都会实时传递信息给我们,让我们随时掌握最新动态。

**协议定义**:WebSocket 是独立的、创建在 TCP 上的协议。Websocket 通过HTTP/1.1 协议的101状态码进行握手。为了创建Websocket连接,需要通过浏览器发出请求,之后服务器进行回应,这个过程通常称为“握手”(handshaking)。

**场景**:WebSocket常用于实时聊天、股票行情、在线游戏等需要实时交互的应用中。通过WebSocket,服务器可以实时推送最新的消息或数据给客户端,实现信息的即时更新和交互。

图片

四、TCP(传输控制协议)

图片

TCP就像一位严谨的快递员,他会仔细核对包裹的内容,确保没有遗漏或错误。无论遇到多大的风雨或困难,他都会坚持将包裹安全送达目的地

**协议定义**:传输控制协议(TCP,Transmission Control Protocol)是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议

**场景**:TCP广泛应用于文件传输、电子邮件、网页浏览等场景。无论是下载文件还是发送邮件,TCP都会确保数据能够准确无误地到达目的地。

图片

五、UDP(用户数据报协议)

图片

UDP就像一位粗心的快递员,他送快递的速度很快,但偶尔也会丢件。虽然有些小瑕疵,但在某些场景下,我们更看重的是他的速度和效率。

**协议定义**:UDP是一种无连接的、不可靠的、基于数据报的传输层通信协议。它追求的是传输速度而非可靠性,适用于对实时性要求较高但对数据完整性要求不高的场景。

**场景**:UDP常用于视频流媒体、在线游戏等实时性要求较高的应用中。在这些场景中,即使偶尔丢失一些数据包,也不会对整体体验造成太大影响。

图片

六、SMTP(简单邮件传输协议)

图片

「SMTP就像一位勤劳的邮递员,负责将我们的信件准确无误地送到收件人的信箱里。无论是重要的商务邮件还是温馨的祝福,他都会尽职尽责地完成传递任务。」

**协议定义**:SMTP是一种用于发送电子邮件的协议,它规定了电子邮件在发送过程中的格式和传输方式。

**场景**:当我们使用电子邮件客户端或网页邮箱发送邮件时,SMTP协议会负责将邮件从我们的邮箱传递到收件人的邮箱。

图片

七、FTP(文件传输协议)

图片

「FTP就像一位专业的文件搬运工,他可以帮助我们将文件从一个地方搬运到另一个地方。无论是备份重要文件还是分享资料给同事,他都能高效地完成任务。」

**协议定义**:文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。

**场景**:FTP常用于在不同计算机之间共享文件,比如将文件从本地计算机上传到服务器,或从服务器下载文件到本地计算机。

这些网络协议虽然各自有不同的特点和适用场景,但它们共同构成了互联网的基石。正是有了这些协议的存在,我们才能享受到便捷的在线生活。希望通过本文的介绍,你能对这些网络协议有更深入的了解和认识!

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

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

相关文章

04-springmvc-RequestContextHolder

一、获取request对象的四种方法 方法1、Controller中加参数来获取request 注意:只能在Controller中加入request参数。 一般,我们在Controller中加参数获取HttpServletRequest,如下所示: RestController RequestMapping("…

OSPF中配置静态路由负载分担实验简述

OSPF中配置静态路由负载分担 实验简述 在静态路由负载分担中,多个路由器被配置为共享负载的目标,以实现流量的均衡分配。 到达目的地有N条相同度量值的路径,默认值60,N条路由是等价路由,数据报文在N条链路上轮流发送。…

速盾:cdn原服务器地理位置

CDN(Content Delivery Network)是一种通过在不同地理位置部署服务器的技术,旨在提高网站的访问速度和稳定性。它将原始服务器内容复制到多个节点服务器中,这些节点服务器分布在全球各个地理位置,并根据用户的地理位置和…

使用iPhone/安卓手机代替门禁卡

文章目录 基础知识ID卡和IC卡ID卡技术IC卡技术IC卡加密方式手机NFC只能模拟IC卡,而不支持ID卡电梯卡可能使用滚动码验证方式,不支持使用手机模拟 (IC类型)门禁卡验证方式仅验证ID(卡号)验证ID分区信息 iPho…

【云开发笔记NO.28】数据中台的概述

数据中台的定义 在云开发中,数据中台是一个综合性的数据管理和服务平台,它集成了数据管理、数据治理、数据服务等多个功能,并基于云计算技术架构而建立。数据中台的核心目标是为企业提供稳定、高效、安全的数据支持和服务,进而推…

探索基于WebRTC的有感录屏技术开发流程

title: 探索基于WebRTC的有感录屏技术开发流程 date: 2024/4/7 18:21:56 updated: 2024/4/7 18:21:56 tags: WebRTC录屏技术屏幕捕获有感录屏MediaStream实时传输音频录制 第一章:技术原理 WebRTC(Web Real-Time Communication)是一种开放源…

Python中的 if __name__ == ‘__main__‘

一、if name ‘main’ 在Python的世界里,if name ‘main’:这行代码就像是派对的入口,它决定了哪些部分是只在当前这个“派对”(或者说脚本)中直接执行的,哪些部分是可以被其他“派对”(或脚本&#xff…

【Vue】 Vue项目中的跨域配置指南

她坐红帐 面带浓妆 唢呐一声唱 明月光 这女子泪眼拜高堂 一拜天地日月 二拜就遗忘这一生 跪三拜红尘凉 庭院 大门锁上 杂乱的眼光 多喧嚷 这女子笑颜几惆怅 余生喜乐悲欢都无关 她眼中已无光 🎵 倪莫问《三拜红尘凉》 在前后端分离的项目开发中…

Java中的内存模型和例子

Java内存模型(Java Memory Model, JMM)是Java虚拟机(JVM)规范中定义的一种关于内存访问、共享变量在多线程之间的可见性、以及原子性、顺序性的规则。Java内存模型的目标是定义程序中各个共享变量的访问方式,以及如何在…

python实例1.2:创建一个简易的命令行地址簿程序,允许用户添加、删除、查找和编辑联系人(详解及其知识点拓展)

目录 一、基础:地址簿程序代码附带注释 二、基础:地址簿程序详细分析 三、拓展:地址簿程序拓展,如何实现在地址簿程序中持久化数据? 四、拓展:地址簿程序拓展代码详细分析 一、基础:地址簿程…

SQL Sever 2008 安装教程

先从官网下载程序:下载地址 打开上述链接后,点击下载按钮。 就会跳出下面这个界面,如果你的电脑是64位的请选择下图中这两个程序。 下载完成后,在电脑磁盘中找到这两个文件,注意安装的顺序,先安装 SQLEXPR…

Linux:软硬链接及动静态库

一、Linux中的链接文件 1.1硬链接及应用场景 ln//创建硬链接 我们再创建一个硬链接生成的文件。 我们可以看到mlink.hard的inode和makefile.c的inode都是一样的,inode一样里面的数据自然也是一样。相当于对make.file进行了一个重命名,所以硬链接一定没…

2023年蓝桥杯省赛——买二赠一

目录 题目链接:1.买二赠一 - 蓝桥云课 (lanqiao.cn) 题目描述 输入格式 输出格式 样例输入 样例输出 样例说明 思路 队列贪心 代码实现 总结 题目链接:1.买二赠一 - 蓝桥云课 (lanqiao.cn) 题目描述 某商场有 N 件商品,其中第 i 件…

漫谈:“标准”是一种幻觉 C++语言标准的意义

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 “标准”这个词很迷惑&#xf…

基于SpringBoot注入Bean形式的监听(端口)

起一个线程、监听对应的端口,注入到容器 package com.port.component;import com.port.service.PortListenerService; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.CommandLineRunner; import org.springframework.stereoty…

铸铁平台的单围和双围是什么——北重机械

铸铁平台的单围和双围是指平台的围栏结构。单围指平台只有一面围栏,通常用于平台的三个边界上,另一边是与建筑物相连的。双围指平台两侧围栏都有,即平台四个边界都有围栏。双围结构比单围结构更加安全,可以防止人员和物品从平台四…

CleanmyMac 苹果电脑清理软件,为你的 Mac 提速!

Apple Macbook 已成为当今职场不可或缺的高效助手,尤其在普遍的远程办公场景下,其运行流畅度对工作效率及用户体验至关重要。虽然长期使用会使Mac电脑性能自然衰退,但大部分导致系统变慢的因素其实可经由用户自行调整得到显著改善&#xff0c…

linux 设置命令输入行高亮(与软件无关:xshell等)

在命令执行后输出内容比较多的情况下,很难查看自己的历史命令 这个配置是系统的配置:取消.bashrc文件中force_color_prompt=yes的注释即可 (和连接服务器的软件无关) 具体的操作如下: 执行以下命令,查看配置所在的行数root@hecs-166280:~# cat .bashrc -n | grep force_…

Java Lambda 表达式(详细)

Java Lambda 表达式 Lambda 的发展史 Java Lambda 表达式是在 Java 8 版本中引入的重要特性,它描述了一种更简洁、更灵活的方式来处理函数式编程。 在 Java 8 之前,要实现函数式编程,需要通过匿名类实现接口的方式。这样的代码通常比较冗长…

深入MyBatis的动态SQL:概念、特性与实例解析

MyBatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。它可以使用简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO,即普通的 Java 对象为数据库中的记…