【java八股文】之计算机网络系列篇

1、TCP/IP和UDP模型

TCP/IP分层(4层):应用层,传输层,网络层,数据链路层

网络的七层架构 (7层):应用层,表示层,会话层,传输层,网络层,数据链路层,物理层

五层协议 (5层):物理层、数据链路层、网络层、运输层、 应用层

TCP/IP是面向连接的协议,发送数据前要先建立好连接,TCP提供了可靠的服务,也就是说通过TCP连接传输的数据是不会丢失,没有重复,并且按照顺序达到的。

UDP是无连接的协议,发送数据前是不需要建立连接的,没有可靠的协议。所以传输的过程中可以以任意的路径进行传输,并且传输的过程中是否能达到和到达的时间都是没有保障的。

2、从输入址到获得页面的过程?

  • 首先浏览器会进行DNS查询,查询步骤是浏览器DNS缓存、操作系统DNS缓存、读取本地host文件、本地配置的DNS 服务器查询得到IP地址。
  • 浏览器向IP服务器发送了三次握手连接
  • 连接建立起来后,浏览器向服务器发送HTTP请求
  • 后面就是SpringMVC的过程
  • 浏览器渲染视图


3、TCP进行三次握手

第一次握手:Client将SYN置1,随机产生一个初始序列号seq发送给Server,进入SYN_SENT状态;
第二次握手:Server收到Client的SYN=1之后,知道客户端请求建立连接,将自己的SYN置1,ACK置1,产生一个acknowledge number=sequence number+1,并随机产生一个自己的初始序列号,发送给客户端;进入SYN_RCVD状态;
第三次握手:客户端检查acknowledge number是否为序列号+1,ACK是否为1,检查正确之后将自己的ACK置为1,产生一个acknowledge number=服务器发的序列号+1,发送给服务器;进入ESTABLISHED状态;服务器检查ACK为1和acknowledge number为序列号+1之后,也进入ESTABLISHED状态;完成三次握手,连接建立。

4、采用两次握手行吗?

不可以,如果采用两次握手的话,那么只要服务端确认就建立了连接。如果client发送了一个请求过来,延迟了一个小时,一个小时候服务端接受到消息确认,他们建立了连接,但是这个时候client已经关闭了。但是服务端不知道。就会造成服务端一直发送数据,等待客户端的回消息,白白浪费许多资源。所以必须需要第三次握手的客户端确认。

5、可以采用四次握手吗?为什么?

这个肯定可以。三次握手都可以保证连接成功了,何况是四次,但是会降低传输的效率。

6、TCP的四次挥手

第一次挥手:Client将FIN置为1,发送一个序列号seq给Server;进入FIN_WAIT_1状态;

第二次挥手:Server收到FIN之后,发送一个ACK=1,acknowledge number=收到的序列号+1;进入CLOSE_WAIT状态。此时客户端已经没有要发送的数据了,但仍可以接受服务器发来的数据。

第三次挥手:Server将FIN置1,发送一个序列号给Client;进入LAST_ACK状态;

第四次挥手:Client收到服务器的FIN后,进入TIME_WAIT状态;接着将ACK置1,发送一个
acknowledge number=序列号+1给服务器;服务器收到后,确认acknowledge number后,变为CLOSED状态,不再向客户端发送数据。客户端等待2*MSL(报文段最长寿命)时间后,也进入CLOSED状态。完成四次挥手。

7、http和https的区别?

其实HTTPS就是从HTTP加上加密处理(一般是SSL安全通信线路)+认证+完整性保护
区别:

  • https需要拿到ca证书
  • 端口不一样,http是80,https443
  • http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
  • http和https使用的是完全不同的连接方式(http的连接很简单,是无状态的;HTTPS 协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。)


8、cookie与session区别

  • cookie数据存放在客户端上,安全性较差,session数据放在服务器上,安全性相对更高
  • 单个cookie保存的数据不能超过4K,session无此限制
  • session一定时间内保存在服务器上,当访问增多,占用服务器性能,考虑到服务器性能方面,应当使用cookie。

什么是cookie: cookie是由Web服务器保存在用户浏览器上的文件(key-value格式),可以包含用户相关的信息。客户端向服务器发起请求,就提取浏览器中的用户信息由http发送给服务器
什么是session: session 是浏览器和服务器会话过程中,服务器会分配的一块储存空间给session。
服务器默认为客户浏览器的cookie中设置 sessionid,这个sessionid就和cookie对应,浏览器在向服务器请求过程中传输的cookie 包含 sessionid ,服务器根据传输cookie 中的 sessionid 获取出会话中存储的信息,然后确定会话的身份信息。

9、TCP如何保证可靠性的?

1、校验和(数据准确性)

2、序列号和确认应答(数据确认达到和有序)

3、超时重传(防止数据丢失)

  •  数据在传输过程中由于网络原因等直接全体丢包,接收方根本没有接收到。
  •  接收方接收到了响应的数据,但是发送的ACK报文响应却由于网络原因丢包了。

TCP在解决这个问题的时候引入了一个新的机制,叫做超时重传机制。简单理解就是发送方在发送完数据后等待一个时间,时间到达没有接收到ACK报文,那么对刚才发送的数据进行重新发送。如果是刚才第一个原因,接收方收到二次重发的数据后,便进行ACK应答。如果是第二个原因,接收方发现接收的数据已存在(判断存在的根据就是序列号,所以上面说序列号还有去除重复数据的作用),那么直接丢弃,仍旧发送ACK应答。

4、连接管理

​ 连接管理就是三次握手与四次挥手的过程,保证可靠的连接,是保证可靠性的前提。

消息手动确认消费

RabbitMQ 持久化 消息持久化(发布确认方式) + 队列持久化(直接设置参数)

5、流量控制

6、拥塞控制
 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第15届蓝桥STEMA测评真题剖析-2023年12月17日Scratch编程初中级组

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第166讲。 第15届蓝桥第3次STEMA测评,这是2023年12月17日举办的STEMA,比赛仍然采取线上形式。这…

【Java】Ruoyi-Vue-Plus 整合 jasypt 为SpringBoot配置文件进行加密

开发环境 Ruoyi-Vue-Plus 5.1.2&#xff08;Spring Boot 3.1.7&#xff09;jasypt 3.0.5 进入依赖 项目的根pom.xml 项目的根 pom.xml 文件中&#xff0c;添加同一版本管理 <properties><!--配置文件参数加密--><jasypt.version>3.0.5</jasypt.version…

MAX-4/11/03/032/99/1/1/00智能伺服驱动器ELAU

MAX-4/11/03/032/99/1/1/00智能伺服驱动器ELAU MAX-4/11/03/032/99/1/1/00智能伺服驱动器ELAU A-B 1394-SJT05-C A-B 1326AS-B440G-21-A A-B 6186M-17PT ELAU MAX-4/11/03/032/99/1/1/00 ELAU MAX-4/11/03/032/08/1/1/00 ELAU MAX-4/11/03/016/99/1/1/00 E…

外观模式介绍

目录 一、外观模式介绍 1.1 外观模式定义 1.2 外观模式原理 1.2.1 外观模式类图 1.2.2 模式角色说明 1.2.3 示例代码 二、外观模式的应用 2.1 需求说明 2.2 需求实现 2.2.1 类图 2.2.2 具体实现 2.2.2.1 灯光类 2.2.2.2 电视类 2.2.2.3 空调类 2.2.2.4 外观面板类…

计算机毕业设计----SSH实现的一个宠物商城

项目介绍 本项目分为前后台&#xff0c;分为管理员与用户两种角色&#xff0c;普通用户登录前台&#xff0c;管理员登录后台&#xff1b; 管理员角色包含以下功能&#xff1a; 管理员登录,用户管理,管理商品,商品分类管理,订单管理,留言管理,公告管理,新闻管理等功能。 用户…

MySQL索引创建原则和失效问题

一.索引创建原则 数据量较大,且查询比较频繁的表常作为查询条件、分组、排序的字段字段内容区分度高内容较长,使用前缀索引尽量创建联合索引要控制索引的数量如果索引列不能存储NULL值,请在创建表示使用NOT NULL约束它 二.索引失效 违反最左前缀法则范围查询右边的列,不能使用…

Linux文件同步

Linux文件同步 scp简介基本用法 rsync简介基本用法 tftp简介基本用法 其他命令ftpsftplftp 此博客将主要介绍Linux文件同步常用的两种命令&#xff1a;scp&#xff08;secure copy&#xff09;、rsync&#xff08;remote synchronization&#xff09;和tftp&#xff08;Trivial…

k8s源码阅读:Informer源码解析

写在之前 Kubernetes的Informer机制是一种用于监控资源对象变化的机制。它提供了一种简化开发者编写控制器的方式&#xff0c;允许控制器能够及时感知并响应 Kubernetes 集群中资源对象的变化。Informer通过与Kubernetes API服务器进行交互&#xff0c;通过监听API服务器上资源…

计算机毕业设计 | SpringBoot宠物店管理系统(附源码)

1&#xff0c;绪论 项目背景 我国已经成为世界第二大经济体&#xff0c;经济实力高速发展以及百姓生活水平的普遍提高&#xff0c;不断地要求企业提供更加多元化的娱乐方式&#xff0c;更加快速和方便的服务&#xff0c;因此对宠物行业也提出了更加严格的要求&#xff0c;如管…

layabox_2d游戏A*寻路实践

使用工具 Red Blob Games 效果 项目地址 LayaAStar2D: Laya2.0引擎2D游戏使用AStar实践。

C++设计模式-- 2.代理模式 和 外观模式

文章目录 代理模式外观模式角色和职责代码演示一&#xff1a;代码演示二&#xff1a;外观模式适用场景 代理模式 代理模式的定义&#xff1a;为其他对象提供一种代理以控制对这个对象的访问。在某些情况下&#xff0c;一个对象不适合 或不能直接引用另一个对象&#xff0c;而代…

<蓝桥杯软件赛>零基础备赛20周--第13周--DFS剪枝

报名明年4月蓝桥杯软件赛的同学们&#xff0c;如果你是大一零基础&#xff0c;目前懵懂中&#xff0c;不知该怎么办&#xff0c;可以看看本博客系列&#xff1a;备赛20周合集 20周的完整安排请点击&#xff1a;20周计划 每周发1个博客&#xff0c;共20周。 在QQ群上答疑&#x…

docker安装nacos+mysql+配置网络

一、配置网络 为什么要配置网络&#xff1f;因为 Nacos 内要连接MySQL数据库的&#xff0c;我的 MySQL 数据库也是用 Docker启动的&#xff0c;所以2个容器间要通信是需要配置他们使用相同的网络。这个操作要在启动Nacos容器之前。 注意&#xff1a;这里配置的网络只在镜像内部…

zabbix6.4设置网络设备端口流量P95

P95概念&#xff1a; p95函数写法&#xff1a; 需要监控P95的设备如下&#xff1a; 先找到原来的端口接收发送速率的监控项&#xff1a; 可以看到他们归属于自动发现规则&#xff1a;端口表UP 找到自动发现规则&#xff1a; 点击创建监控项原型&#xff1a; 公式如下&#xff…

基于LLM大模型的信息提取指南

信息提取&#xff08;information Extraction&#xff09;是从文本或文档集合中自动检索与特定主题相关的特定信息的过程。 这通常涉及自然语言处理技术的使用。 使用自然语言处理来提取信息通常会导致构建复杂的逻辑&#xff0c;这些逻辑有时非常具体并且不能很好地概括。 好…

Linux例行性工作 at和crontab命令

1&#xff0c;例行性工作 例行性工作 —— 在某一时刻&#xff0c;必须要做的事情 —— 定时任务 &#xff08;比如&#xff1a;闹钟&#xff09; 例行性工作分为两种&#xff1a;“单一的例行性工作 at”和“循环的例行性工作 crontab” 2&#xff0c;单一执行的例行性工作 …

C 程序运行机制

1.编辑 编写C语言源程序代码&#xff0c;源程序文件以“.c”作为扩展名。 2.编译 将C语言源程序转换为目标程序(或目标文件)。如果程序没有错误&#xff0c;没有任何提示&#xff0c;就会生成一个扩展名为“.obj”的二进制文件。C语言中的每条可执行语句经过编译后最终都将被…

Go语言中的HTTP请求发送

在Go语言中&#xff0c;发送HTTP请求是一种常见的网络操作。Go语言的net/http包提供了强大的API&#xff0c;使开发者能够轻松地构建HTTP请求并处理响应。 下面我们将详细介绍如何使用Go语言发送HTTP请求&#xff0c;包括设置请求参数、处理响应状态码和头部信息、发送JSON数据…

中湖盐——健康盐,盐中贵族

祁连山古老的盐湖,有一个水晶女和玉莹郎的传说,他们来到凡间做盐为生,做出的盐像水晶玉莹一样纯净。直到有一天,始皇帝传旨修长城,玉莹和水晶不忍百姓疾苦,用相思之泪化为了水晶般的白盐;血肉精华冶炼成萤石般的盐根,造福一方。 雪水溶积汇入的盐湖,水天倒映,美不胜收,中湖盐坚…

Zero-Shot Learning—A Comprehensive Evaluation of the Good, the Bad and the Ugly

目录 背景知识why zero-shot learning?广义零样本学习设置 1 INTRODUCTION1.1 zero-shot learning——methods1.2 zero-shot learning——datasets1.3 zero-shot learning——evaluation protocol 2 RELATED WORK2.1 早期工作2.1.1 Attribute-based classification for zero-s…
最新文章