计算机网络相关知识点(二)

TCP如何保证传输过程的可靠性?

校验和:发送方在发送数据之前计算校验和接收方收到数据之后同样需要计算,如果不一致,那么代表传输有问题。

确认应答序,序列号:TCP进行传输时数据都进行了编号,每次接收方都通过首部ACK字段进行确认字段号。

超时重传:如果发送房发送一段数据后,长时间没有收到ACK的确认后,会重新发送该数据。

连接管理:三次握手四次挥手。

流量控制:TCP协议报头包含16位的窗口大小,接收方会在返回ACK时,同时把窗口值传递回发送方,发送方根据报文中窗口的大小控制发送速率

拥塞控制:通过慢开始、拥塞避免、快重传、快恢复等四个算法来进行拥塞控制,降低整个网络的拥塞程度,避免网络中发送的数据包数量过多,造成数据包阻塞延迟丢失。

Session和Cookie有什么区别?

保存位置:Cookie通过客户端浏览器,以文件形式保存在本地机器,数据容量受浏览器限制,一般不超过3kb;Session以对象形式保存在服务器端内存。
数据内容:Cookie中不允许出现特殊内容(中文、特殊符号);Session中允许保存任意内容;
存储周期:Cookie的存储周期由Max Age属性设置,可以长期保存;Session的实现依靠一个名叫JSESSIONID的Cookie,Max Age过期时间默认为-1,关闭浏览器窗口,该Cookie则失效,对应的Session从而也失效

浏览器请求一个网址的过程

1.首先通过DNS服务器把域名解析成IP地址,通过IP和子网掩码判断是否属于同一个子网;
2应用层构造用于请求http报文,传输层添加TCP头部,网络层添加IP头部,数据链路层添加以太网协议头部
3数据经过路由器、交换机转发,最终达到目标服务器,目标服务器同样解析数据,最终拿到http报文,按照对应的程序的逻辑响应回去。

谈谈http协议get和Post的区别

GET和P6OST是HTTP请求的两种请求方法,本质上都是通过TCP连接进行通信;
GET用于获取数据,POST用于提交数据;
GET使用URL传递请求参数,POST使用Request Boby提交数据;
GET和POST的请求报文格式不同
POST方法请求报文第一行是这样的 POST /uri HTTP/1.1 \r\n
GET方法请求报文第一行是这样的 GET /uri HTTP/1.1 \r\n
GET是幂等且可缓存,POST非幂等且不可缓存;


谈谈http有哪些请求方式,各有什么特点?

GET 获取资源:GET方法用于使用给定的URI从给定服务器中查询获取信息或数据。
HEAD 获取响应消息报头:HEAD 和 GET方法类似,但是不返回响应报文内容主体部分,仅传输响应报头部分。
POST 提交数据增加资源:POST方法用于将数据发送到服务器以创建或更新资源。使用post方法,如果两个请求相同,后一个请求不会会把第一个请求覆盖掉,所以post用于增加资源。
PUT 修改资源:PUT方法用来修改资源。使用put方法,如果两个请求相同,后一个请求会把第一个请求覆盖掉,所以put用于修改资源。
DELETE 删除资源:DELETE方法用来删除指定的资源,它会删除URI给出的目标资源的所有当前内容。
●OPTIONS 查询支持的方法:查询指定的 URL 能够支持的方法。会返回 Allow: GET, POST, HEAD, OPTIONS 这样的内容。

谈谈BIO和NIO的区别?

BIO:同步阻塞IO,每一个客户端连接,服务端都会对应一个处理线程,对于没有分配到处理线程的连接就会被阻塞或者拒绝。相当于是一个连接一个线程。

NIO:同步非阻塞IO,基于Reactor模型,客户端和channel进行通信,channel可以进行读写操作,通过多路复用器selector来轮询注册在其上的channel,而后再进行IO操作。这样的话,在进行IO操作的时候再用一个线程去处理就可以了,也就是一个请求一个线程。

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

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

相关文章

PTA 睡前速刷(C++ Java)

1167 Cartesian Tree 题意:要的大概就是:中序 -> 数组序(层序遍历),中序不能唯一确定,但本题有前置添加:该二叉树是小顶堆 思考:那么最小的数值,一定是顶根&#xf…

Vue2+ElementUI 静态首页案例

源码 <template><div class"app-container home"><el-row type"flex" justify"space-around" class"row-bg"><el-card class"box-card cardDiv1"><el-col :span"5"><div clas…

小程序自定义tabbar,中间凸起

微信小程序自带tabbar&#xff0c;但无法实现中间按钮凸起样式和功能&#xff0c;因此按照设计重新自定义一个tabbar 1、创建tabbar文件&#xff0c;与pages同级创建一个文件夹&#xff0c;custom-tab-bar,里面按照设计图将底部tabbar样式编写 <view class"tab-bar&q…

庆国庆中秋双节多克大回馈!!!凡官方旗舰店产品,每个产品下订单的前10名,现价基础之上8 折优惠

凡官方旗舰店产品&#xff0c;每个产品下订单的前10名&#xff0c;现价基础之上8折优惠&#xff08;每单限一个产品&#xff09;&#xff1b;10名之后&#xff0c;现价基础之上9.5折优惠&#xff0c;付款之前请加官方微信&#xff0c;并将订单截图发送至官方微信&#xff01;&a…

【设计模式】四、工厂模式

文章目录 概述工厂模式简单工厂模式&#xff1a;工厂方法模式抽象工厂模式小结 概述工厂模式 传统方式&#xff1a; 简单工厂模式&#xff1a; 简单工厂模式的设计方案: 定义一个可以实例化 Pizaa 对象的类&#xff0c;封装创建对象的代码。 存在的问题&#xff1a; 简单工厂…

肠道微生物可改善围手术期和术后康复效果

谷禾健康 手术&#xff0c;俗称开刀&#xff0c;是医生通过医疗器械对病人身体局部进行去除病变组织、修复损伤等治疗&#xff0c;来维持患者的健康&#xff0c;在治愈疾病方面具有明确的作用。 围手术期是指从手术决策到手术结束及术后恢复期的整个时间段。围手术期管理的目标…

unable to access xxxx: Failed to connect to xxxx

问题&#xff1a; 1、GitLab仓库加上双重验证后&#xff0c;设置GIt得 Manage Remotes时报错 unable to access xxxx: Failed to connect to xxxx SSL certificate problem:self signed certificate 解决 1、返回前面得操作步骤检查了一遍 没有问题 2、最后尝试一些方法解…

Level FHE 的高效实现 兼容 Level FHE 的高级算法

参考文献&#xff1a; [CS05] Choi Y, Swartzlander E E. Parallel prefix adder design with matrix representation[C]//17th IEEE Symposium on Computer Arithmetic (ARITH’05). IEEE, 2005: 90-98.[SV11] Smart N P, Vercauteren F. Fully homomorphic SIMD operations[…

全国职业技能大赛云计算--高职组赛题卷③(容器云)

全国职业技能大赛云计算--高职组赛题卷③&#xff08;私有云&#xff09; 第二场次题目&#xff1a;容器云平台部署与运维任务1 Docker CE及私有仓库安装任务&#xff08;5分&#xff09;任务2 基于容器的web应用系统部署任务&#xff08;15分&#xff09;任务3 基于容器的持续…

vue3在watch和watchEffect的使用

Vue3 的 watch 是一个函数&#xff0c;能接收三个参数&#xff0c;参数一是监听的属性&#xff0c;参数二是接收新值和老值的回调函数&#xff0c;参数三是配置项。 <script setup> import { watch, ref, reactive } from vueprops: [info], const data reactive({name…

vue点击pdf文件直接在浏览器中预览文件

好久没有更新文章了&#xff0c;说说为什么会有这篇文章呢&#xff0c;其实是应某个热线评论的要求出的&#xff0c;不过由于最近很长一段时间没打开csdn现在才看到&#xff0c;所以才会导致到现在才出。 先来看看封装完这个预览方法的使用&#xff0c;主打一个方便使用&#x…

超详细postgresql基础语法和备份恢复

postgresql基础语法 \l 查看所有库\c ceshi&#xff08;库名&#xff09; 进入对应库\d 查看所有表\q 退出数据库\help 查询语法使用方法\du 查看数据库用户\dp 查看数据库用户权限\db 查看表空间查看所有用户 select * from pg_user;创建用户 create use…

结合Mockjs与Bus事件总线搭建首页导航和左侧菜单

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是Java方文山&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的专栏《ELement》。&#x1f3af;&#x1f3af; &#x1…

Python:pyts库中的GramianAngularField

您想要使用pyts库中的GramianAngularField类&#xff0c;这是一个用于时间序列数据图像转换的工具。要使用这个类&#xff0c;首先确保您已经安装了pyts库。如果尚未安装&#xff0c;您可以使用以下命令来安装它&#xff1a; pip install pyts一旦安装完成&#xff0c;您可以通…

如何使用ArcGIS Pro将等高线转DEM

通常情况下&#xff0c;我们拿到的等高线数据一般都是CAD格式&#xff0c;如果要制作三维地形模型&#xff0c;使用栅格格式的DEM数据是更好的选择&#xff0c;这里就为大家介绍一下如何使用ArcGIS Pro将等高线转DEM&#xff0c;希望能对你有所帮助。 创建TIN 在工具箱中选择“…

C/C++大写字母的判断 2023年5月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录 C/C大写字母的判断 一、题目要求 1、编程实现 2、输入输出 二、解题思路 1、案例分析 三、程序代码 四、程序说明 五、运行结果 六、考点分析 C/C大写字母的判断 2023年5月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 输入一个字符&#xff0c;判…

数组01-二分查找算法

目录 数组如何实现随机访问 两个关键词 数组的特点 根据下标随机访问数组元素 为什么数组要从0开始编号&#xff0c;而不是从1开始 LeetCode之路——704. 二分查找 Code 二分查找算法 数组如何实现随机访问 数组&#xff08;Array&#xff09;是一种线性表数据结构。它…

【计算机网络】IP协议(上)

文章目录 TCP与 IP之间的关系IP地址的认识协议报头格式1. 报头和有效载荷如何分离&#xff1f;2. 8位协议3. 4位版本4. 8位服务类型5. 16位总长度6. 8位生存时间 TTL 网段划分IP地址的划分 子网划分CIDR的提出如何理解CIDR TCP与 IP之间的关系 如&#xff1a;假设 你上高中时&…

OpenCV项目开发实战--主成分分析(PCA)的特征脸应用(附C++/Python实现源码)

什么是主成分分析? 这是理解这篇文章的先决条件。 图 1:使用蓝线和绿线显示 2D 数据的主要组成部分(红点)。 快速回顾一下,我们了解到第一个主成分是数据中最大方差的方向。第二主成分是空间中与第一主成分垂直(正交)的最大方差方向,依此类推。第一和第二主成分红点(2…

Halcon File相关算子(一)

(1) list_files( : : Directory, Options : Files) 功能&#xff1a;返回给定的目录下的所有文件。 控制输入参数&#xff1a;Directory &#xff1a;文件路径目录&#xff1b; 控制输入参数&#xff1a;Options&#xff1a;可选项&#xff0c;默认为files&#xff1b; 控制…