8 种网络协议

news2024/11/16 8:28:58

什么是网络协议?

网络协议就是计算机之间沟通的语言,为了有效地交流,计算机之间需要一种共同的规则或协议,就像我们和老外沟通之前,要先商量好用哪种语言,要么大家都说中文,要么大家都说英语,这才能有效地沟通。

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

下面简单地介绍下这几个网络协议:

HTTP(超文本传输协议)

HTTP是用于获取HTML等资源的协议,它使用TCP协议作为底层的支撑协议,它是Web上任何数据交换的基础,是一种客户端-服务器协议。

使用场景:浏览器

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

HTTP/3

HTTP/3是HTTP的第三个版本,它使用QUIC作为底层的支撑协议,QUIC是一种为移动互联网使用而设计的新传输协议。它依赖于UDP而不是TCP,这使得网页响应速度更快,可以实现虚拟现实应用,用更多的带宽来渲染虚拟场景的复杂细节。

使用场景:物联网(IOT)、虚拟现实

「HTTP/3就像一个超级快递员,可以让网页变得更快。」

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

HTTPS是HTTP协议的安全版本,扩展了HTTP,并使用加密进行安全通信,主打一个「安全」

使用场景:浏览器、网上银行、网上支付

「HTTPS就像一个保镖,可以保护你的信息安全。」

WebSocket

WebSocket是一种基于TCP协议的全双工通信协议,与传统的HTTP通信不同,WebSocket允许服务器主动向客户端推送数据,而不需要等待客户端的请求。

使用场景:实时聊天、视频会议、股票行情

「WebSocket就像一个实时对话的接线员,可以让你与网站实时交流信息。」

TCP(传输控制协议)

TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP是互联网的基础,用于在互联网上传输各种类型的数据,包括文本、图像、音频、视频等,许多应用层协议都建立在TCP之上。

使用场景:浏览器、文件传输、邮件

「TCP就像一个可靠的快递员,可以确保你的数据安全到达目的地。」

UDP(用户数据报协议)

UDP是一种面向无连接的、不可靠的、基于数据报的传输层通信协议。UDP是TCP的补充,UDP提高了数据传输的速度,但是可能会丢失某些数据,用于那些对可靠性要求不高的应用场景。

使用场景:视频流媒体、网络游戏、实时监控

「UDP就像一个粗心的快递员,他送包裹的速度很快,但是经常丢快递。」

SMTP(简单邮件传输协议)

SMTP是一个标准协议,是电子邮件传递的基础,用于在互联网上发送和接收电子邮件。

使用场景:电子邮件

「SMTP就像电子邮件的邮递员,负责把你的邮件送到朋友的邮箱。」

FTP(文件传输协议)

FTP是文件传输协议,用于在客户端和服务器之间传输计算机文件,FTP是文件传输的基础,用于在不同计算机之间共享文件。

使用场景:文件传输

「FTP就像一个文件的搬运工,他帮助你把文件从一台计算机传输到另一台计算机。」

动图封面

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

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

相关文章

HCIA——25FTP 的工作原理、功能、TFTP、控制连接、数据连接的选择、解答

学习目标: 计算机网络 1.掌握计算机网络的基本概念、基本原理和基本方法。 2.掌握计算机网络的体系结构和典型网络协议,了解典型网络设备的组成和特点,理解典型网络设备的工作原理。 3.能够运用计算机网络的基本概念、基本原理和基本方法进行…

应用案例:Ruff工业设备数据采集,为生产制造企业数字化转型赋能

导读:某金属材料生产制造企业,引进了整套Ruff数据采集方案,将Ruff网关采集到的PLC数据接入到Ruff IoT管理云平台,帮助客户实现覆盖全厂区、车间所有设备的数字化、可视化管理,避免了意外停机风险,IT运维工作…

QT实现 三个数的加减法自动生成

三位数加减法自动生成函数 输出一个txt文件,可以copy到word文档,打印回家训练娃的加减法 void MainWindow::test2(int answerMax, int count) {// 创建一个随机数生成器QRandomGenerator *generator QRandomGenerator::global();// 创建一个文件QStri…

ubuntu20安装网络调试助手遇到缺少qt4相关库的问题

最近需要做套接字通讯的工作,最好是有一个网络调试软件能够接受或者发送套接字,测试代码能够正常通讯。windows下有很多,但是linux下比较少,使用广泛的是下面这一款。 1、安装 首先从网盘(链接: https://pan.baidu.c…

What is `Filter` does?

过滤器(Filter)是Java Servlet规范中的一部分,它提供了一种在请求到达目标资源之前或响应发送给客户端之前进行预处理和后处理的能力。 通过编写自定义的过滤器类并将其注册到Web应用程序中,开发者可以实现诸如登录验证、权限控制…

整理了一下常用的LaTeX数学公式语法,未完待续

为了方便对应,后面会拆一下 公式代码放入LaTeX编译环境中时,两边需要加入$$: $$公式代码$$ 1,分解示例 L^{A}T_{E}X\,2_{\epsilon} c^{2}a^{2}b^{2} \tau\phi \cos2\pi1 f\, \,a^{x}\,\,b \heartsuit \cos^{2}\theta \sin^{2}\theta 1.0…

React16源码: React中的unwindWork的源码实现

unwindWork 1 )概述 在 renderRoot 的 throw Exception 里面, 对于被捕获到错误的组件进行了一些处理并且向上去寻找能够处理这些异常的组件,比如说 class component 里面具有getDerivedStateFromError 或者 componentDidCatch 这样的生命周期方法这个c…

macOS磁盘管理工具Paragon Hard Disk Manager,轻松且安全的改变磁盘分区

Paragon Hard Disk Manager mac版是Macos上一款磁盘管理工具,可以帮助你轻松而且安全的随意改变磁盘分区的大小和各种分区参数,作为mac磁盘分区工具也是游刃有余,同时在找回数据的时候也非常容易,并且不会损坏原来的数据&#xff…

tensorboard画图

安装 pip install tensorboardX还得安装TensorFlow pip install tensorflow使用 导包后往里面放数据就行,第一个参数是名称,第二个是y坐标,第三个是x坐标,通过add_scalar进行参数的添加。 import numpy as np from tensorboar…

GPSR路由算法的MATLAB实现

GPSR基于节点地理位置路由信息,采用贪婪策略和右手准则的结合在邻居节点中选择下一跳节点进行数据转发。节点在进行路由选择时,只需知道自己、邻居和目标节点的地理位置信息,无需维护全局网络的链路状态,这在很大程度上降低了网络…

VM下Unbunt虚拟机上网设置

系列文章目录 VM下Unbunt虚拟机上网设置 VM虚拟机上网设置 系列文章目录一、VM虚拟机上网设置 一、VM虚拟机上网设置 右击VM软件中你需要设置的虚拟机,选择设置 宿主机如果你用的是笔记本外加WIFI连接选择NAT网络模式 进入虚拟机看能否上网 不行的话,进…

全网最详细的Cortex-M0指令集汇总

文章目录 Thumb指令集Coretx-M0汇编语言格式寄存器访问指令:MOVEMOV Rd,#immed8.MOV Rd,RmMOVS Rd,#immed8MOVS Rd,RmMRS Rd,SpecialRegMSR SpecialReg,Rd 存储器访问指令:LOADLDR Rt,[Rn,Rm]LDRH Rt,[Rn,Rm]LDRB Rt,[Rn,Rm]LDR Rt,[Rn,#immed5]LDRH Rt,…

VsCode CMake调试QT QString等变量不显示具体值,调试中查看qt源码 (可视化调试配置Natvis)

遇到的问题 当我们在VsCode使用CMake来调试QT程序时,可能会出现变量是十六进制的地址,而看不到具体的值。例如: 如何解决 这时候需要手动设置一下natvis (资源以上传,可以直接下载) 在.vscode文件下找到…

Go 虚拟环境管理工具 gvm 原理介绍与使用指南

本文谈下我对 Go 版本管理的一些想法。让后,我将介绍一个小工具,gvm。这个话题说起来也很简单,但如果想用的爽,还是要稍微梳理下。 背景介绍 Go 的版本管理,并非包的依赖管理,而且关于如何在不同的 Go 版…

配置dns主从服务器,实现正反向解析

一、安装bind服务 yum install bind -y二、修改主配置文件/etc/named.conf 三、配置数据配置文件/var/named/baidu 四、重启服务,进行测试 systemctl restart named

【进口控制器替代】基于Zynq-7020 FPGA的NI 8槽CompactRIO控制器

667 MHz双核CPU,512 MB DRAM,1 GB存储容量,Zynq-7020 FPGA,更宽工作温度范围,8槽CompactRIO控制器 cRIO-9068是一款坚固耐用的无风扇嵌入式控制器,可用于高级控制和监测应用。这款软件设计控制器搭载FPGA、…

链表的反转方法1--迭代法

// 链表头指针结构 typedef struct header {int length; //存储链表结点个数struct linklist *next;//指针域 } Header;// 链表结点结构 typedef struct linknode {int data;//数据域struct linknode* next;//指针域 } LinkNode; 迭代法1-初级版: //反转链表方式1 …

Web06--JavaScript基础02

1、JS流程控制语句 JS与Java一样&#xff0c;也有三个流程控制语句&#xff1a; 顺序结构 选择结构 循环结构 1.1 选择结构 1.1.1 if结构 <script type"text/javascript">if (条件表达式) {代码块;} else if(条件表达式){代码块;} else {代码块;} </scr…

Nas-FPN(CVPR 2019)原理与代码解析

paper&#xff1a;NAS-FPN: Learning Scalable Feature Pyramid Architecture for Object Detection third-party implementation&#xff1a;https://github.com/open-mmlab/mmdetection/tree/main/configs/nas_fpn 本文的创新点 本文采用神经网络结构搜索&#xff08;Neur…

bash 5.2中文修订4

Compound Commands 复合命令 复合命令是 shell 编程语言的结构。每个构造都以保留字或控制运算符开始&#xff0c;并以相应的保留字或运算符终止。与复合命令关联的任何重定向&#xff08;请参阅 Redirections &#xff09;都适用于该复合命令中的所有命令&#xff0c;除非显式…