计算机网络八股

1、请你说说TCP和UDP的区别

  • TCP提供面向连接的可靠传输,UDP提供面向无连接的不可靠传输。
  • UDP在很多实时性要求高的场景有很好的表现,而TCP在要求数据准确、对速度没有硬件要求的场景有很好的表现。
  • TCP和UDP都是传输层协议,都是为应用层程序服务,都有复用(不同应用层协议可以共用TCP和UDP协议)和分用(将数据报解析之后分发给不同的应用层程序)的功能。
  • UDP提供面向无连接基于数据报的不可靠传输,TCP提供面向连接的基于字节流的可靠传输。

UDP协议

  • 面向无连接(不需要3次握手和4次挥手)、尽最大努力交付、面向报文(每次收发都是一整个报文段)、没有拥塞控制不可靠(只管发不管过程和结果)、支持一对一、一对多、多对一和多对多的通信方式、首部开销很小(8字节)。
  • 优点:快,没有TCP各种机制,受了很多首部信息和重复确认的过程,节省了大量的网络资源。
  • 缺点:不可靠不稳定,只管数据的发送不管过程和结果,网络不好的时候很容易造成数据丢失。
  • 网络不好的时候不会影响主机数据报的发送速率,这对很多实时的应用程序很重要,像语音通话、视频会议等要求源主机要以恒定的速率发送数据报,允许网络不好的时候丢失一些数据,但不允许太大的延迟,UDP很适合这种要求。

TCP协议

  • 面向连接(3次握手和4次挥手)、单播(只能端对端的连接)、可靠交付(有大量的机制保护TCP连接数据的可靠性)、全双工通讯(允许双方同时发送信息,4次挥手的原因)、面向字节流(不保留数据报边界的情况下以字节流的方式进行传输,长连接的由来)、头部开销大(至少20字节)。
  • 优点:可靠、稳定、有确认、窗口、重传、拥塞控制机制,在数据传完之后,还会断开连接用来节约系统资源。
  • 缺点:慢,效率低,占用系统资源高,在传输数据之前要先建立连接,这会消耗时间,而且在数据传递时,确认机制、重传机制、拥塞机制等都会消耗大量的时间,要在每台设备上维护所有的传输连接。
  • 在要求数据准确、对速度没有硬性要求的场景有很好的表现,比如在FTP(文件传输)、HTTP/HTTPS(超文本传输),TCP很适合这种要求。

2、请你说说TCP3次握手和4次挥手过程

在这里插入图片描述

为什么一定要3次握手而不是2次,为什么客户端最后还需要发送一次确认报文呢?

  • 防止已经失效的连接请求报文突然又被传给了服务端,然后产生错误
  • 假设客户端发出的第一个连接请求报文段并没有丢失而是在某些网络节点上被滞留了,直到客户端和服务端的新连接已经释放后的某个时间点,第一个连接请求报文段才到了服务端,这时服务端以为客户端又发了一次请求,于是服务端向客户端发起确认连接报文,同意连接。假设不采用3次握手,这时连接已经建立了,但是客户端并不知道这个情况,服务端会一直等待客户端的数据报文,这样服务端的资源就会被浪费,占用大量资源。3次握手可以防止这种现象,保护网络和系统资源。

3、请你说说GET和POST的区别

用法不一样、参数显隐式、参数长度

  • get主要用来获取数据,而post主要提交或修改数据
  • get有长度限制(2048字节)而post没有
  • get的参数时显示的,post的参数时隐式的
  • get的参数会附加在url中,以"?“分割url和传输数据,多个参数用”&"连接,而post会把参数放在http请求体中
  • get是明文传输,可以直接通过url看到参数信息,post放在请求体中,除非用工具才能看到
  • get请求会保存在浏览器历史记录中,也可以保存在web服务器日志中
  • get在浏览器回退时是无害的,而post会再次提交请求
  • get请求会被浏览器主动缓存,而post不会,除非手动设置
  • get请求只能进行url编码,而post支持多种编码方式
  • get请求的参数数据类型只接受ASCII字符,而post没有限制

4、浏览器从输入URL开始到页面显示内容,中间发生了什么?

  • dns域名解析(域名->ip地址),ip寻址和arp(ip->mac)找到服务器
  • TCP三次握手建立连接
  • 浏览器生成http报文,发送http请求,等待服务器响应
  • 服务器处理请求并返回响应结果给浏览器
  • 根据http是否开启长连接,进行tcp挥手过程
  • 浏览器解析thml
  • 浏览器布局渲染

dns地址解析

  • 客户端首先向本地dns服务器进行查询,如果不在本地缓存中,则本地dns服务器会像服务器进行查询,根服务器返回顶级域名服务器的地址给本地dns服务器,然后本地dns服务器查询顶级dns服务器,返回权威dns服务器地址,最终返回给客户端。
    在这里插入图片描述
    dns劫持
    攻击者篡改结果,使用户对域名的解析IP变成另一个IP

5、请你说说HTTP状态码及其含义

http状态码由3个十进制数字组成,第一个十进制数字定义状态码的类型。响应分为5类:信息响应(100-199),成功响应(200-299),重定向(300-399),客户端错误(400-499)、服务端错误(500-599)

  • 1**,信息,服务端收到请求,需要请求者继续执行操作
  • 2**,成功,操作被成功接收并处理
  • 3**,重定向,需要进一步的操作以完成请求
  • 4**,客户端错误,请求包含语法错误或无法完成请求
  • 5**,服务端错误,服务端在处理请求的过程中发生了错误

常见错误码

  • 301,永久重定向
  • 302,临时重定向
  • 304,资源没修改,用之前缓存就行
  • 400.客户端请求的报文有错误
  • 403,服务端禁止访问资源
  • 404,请求的资源在服务器上不存在/未找到

6、请你说说HTTP和HTTPS的区别

  • HTTP简单快速,当客户端向服务端请求数据的时候,只需传送请求方法和路径就可以取得结果,基于TCP,默认端口号为80,耗时可以简略计算为1RTT,传递的数据全部是明文传输,几乎没有安全性
  • HTTPS是基于TLS的,而TLS又基于TCP,当客户端向服务端请求数据的时候,服务端大概率会将客户端重定向到该服务器的443端口,进行新的TCP连接,此时服务器会返回一个证书文件,而不是响应报文体。此时客户端验证证书文件紧接创建对称密钥,之后重新和服务器建立TLS连接,当服务器返回ACK确认之后,连接正式建立,上方整个过程耗时3RTT,并且之后和服务器的通信数据都是通过对称密钥加密过的,几乎无法破解。
  • HTTP是基于TCP的,而HTTPS是基于TLS的
  • HTTP的往返时间为1RTT,而HTTPS的往返时间为3RTT
  • HTTP只需创建一次TCP连接,而HTTPS需要创建两次TCP连接
  • HTTP的默认端口为80,HTTPS的默认端口为443
  • HTTP的安全性很差,而HTTPS的安全性很强

HTTPS虽然在安全方面有很大优势,但是缺点也很明显:

  • HTTPS握手阶段耗费时间,几乎是HTTP的数倍,会延长页面的首次绘制时间和增加耗电
  • HTTPS的效率没有HTTP高,如果部分数据内容实际上并不需要加密,会平白浪费计算机资源
  • HTTPS的证书需要购买,功能越强大的证书价格越高
  • HTTPS的加密并不能阻止某些网络攻击,如黑客攻击、拒绝服务攻击等

7、请你说说TCP如何实现可靠传输

序列和、检验和、确认应答信号、重发机制、连接管理、窗口控制、流量控制、拥塞控制
可靠传输就是通过TCP连接传送的数据是没有差错的、不会丢失的、不重复并且按序到达的

  • 应用层的数据会被分割成TCP认为最适合发送的数据块
  • 序列号:TCP给发送的每一个包进行编号,接收方对数据包进行排序,把有序数据传送给应用层,TCP的接收端会丢弃重复的数据
  • 检验和:TCP将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。
  • 确认应答:如果收到的数据报报文段的检验和没有差错,就确认收到,如果有差错,TCP就丢弃整个报文段和不确认收到此报文段。
  • 流量控制:TCP连接的每一方都有固定大小的缓冲空间,TCP的接收端只允许发送端发送接收端缓冲区能接纳的数据。当接收方来不及处理发送方的数据,会提示发送方降低发送的速率,防止包丢失。TCP使用的流量控制协议是可变大小的滑动窗口协议。
  • 拥塞控制:当网络拥塞时,减少数据的发送。
  • 停止等待协议:每发完一个分组就停止发送,等待对方确认。在收到确认后再发下一个分组,
  • 超时重传:当TCP发出一个段后,它启动一个定时器,等待的目的端确认收到这个报文端。如果不能及时收到一个确认,将重发这个报文段。

8、请你说说TIME_WAIT

4次挥手结束,主动方进入TIME_WAIT

  • TCP连接第4次挥手结束时,主动发起连接释放请求的一方进入TIME_WAIT状态,此时主动发起连接释放请求的一方会等待2MSL(最大报文生存期)才会回到初始状态CLOSED。
  • 处理并丢弃迟来的信息

9、请你说说拥塞控制机制

  • 拥塞:一个/多个交换点的数据报超载,TCP重传机制导致过载
  • 防止拥塞窗口cwnd增长过大引起网络拥塞,设置慢开始门限ssthresh状态变量
  • cwnd<ssthresh慢开始算法
  • cwnd>ssthresh拥塞避免算法
  • cwnd=ssthresh慢开始/拥塞避免算法
  • 慢开始:由小到大逐渐增加拥塞窗口大小,每接一次报文,cwnd指数增加
  • 拥塞避免:cwnd缓慢增大,每经过一个往返时间RTT,就把发送方的拥塞窗口cwnd+1
  • 快恢复之前的策略:
  • 发送方判断网络出现拥塞,就把ssthresh设为出现拥塞时发送方窗口值的一半,继续执行慢开始,之后进行拥塞避免
  • 快恢复:发送方判断网络出现拥塞,把ssthresh设为出现拥塞时发送方窗口的一半,并把cwnd设为ssthresh之后进行拥塞避免
    在这里插入图片描述
    在这里插入图片描述

10、请你说说TCP/IP五层模型

  • 应用层:定义应用进程间通信和交互的规则
  • 运输层:负责两个计算机进程的通信提供传输服务
  • 网络层:负责为网络上不同的主机提供通信服务
  • 数据链路层:将网络层交下来的数据报组装成帧
  • 物理层:最底层的数据传输,以比特流的形式进行

11、请你说说TCP粘包

TCP基于字节流,无法判断发送方报文段边界

  • 多个数据包被连续存储于连续的缓存中,在对数据包进行读取时由于无法确定发送方的发送边界,而采用某一估测值大小来进行数据读取,若发送方发送数据包的长度和接收方在缓存中读取的数据包长度不一致,就会发生粘包,发送端可能对极了两次数据,每次100字节一共在发送缓存对极了200字节的数据,而接收方在接收缓存中一次读取120字节的数据,这是接收端读取的数据就包括了下一个报文段的头部。

解决粘包的方法

  • 发送方关闭Nagle算法,使用TCP_NODELAY选项关闭Nagle功能
  • 发送定长的数据包。每次数据包的长度一样,接收方可以很容易区分数据包的边界
  • 数据包末尾加上\r\n标记,模仿FTP协议,但若数据正文中也含有\r\n,则会误判为消息的边界
  • 数据包头部加上数据包的长度。数据包头部定长4字节,可以存储数据包的整体长度
  • 应用层自定义规则

原因:

  • 造成粘包的因素有很多,有可能是发送方造成的,也有可能是接收方造成的。比如接收方在接收缓存中读取数据不及时,在下一个数据包到达之前没有读取上一个,可能也会造成读取超过一个数据包的情况。

12、请你说说滑动窗口

TCP中采用滑动窗口来进行流量控制,滑动窗口的大小意味着接收方还有多大缓冲区可以接收数据。发送方可以通过滑动窗口的大小来确认应该发送多少字节的数据。滑动窗口机制主要通过窗口大小实现流量控制,进而解决发送方发送数据过快、过多导致的接收端缓存数据溢出导致的丢包现象。
流量控制
让发送方的发送速率不要过快,让接收方来得及接收所有的数据。

13、请你说说ISO七层模型

  • 应用层:管理应用进程间的通信规则(HTTPS/HTTP)
  • 表示层:对数据进行处理(对从应用层获取到的数据报报文进行格式处理、安全处理和压缩处理)
  • 会话层:用来管理进程(对当前主机进程和目标主机进程会话的建立、管理和终止行为)
  • 传输层:提供数据的传输服务,定义了传输数据的进程端口号,负责数据报的排序、差错检验和流量控制等(TCP/UDP)
  • 网络层,进行逻辑地址的查询,路由分组与转发(路由器)(IP)
  • 数据链路层:建立相邻节点的逻辑连接,进行逻辑地址寻址、数据封帧、差错校验(网卡)(ARP)
  • 物理层:最底层的数据传输,比特流(网线)

14、请你说说ARP协议,协议是怎么实现的,是怎么找到MAC地址的

IP地址获取MAC地址、ARP查询分组、广播

  • ARP协议:完成主机或路由器IP地址到MAC地址的映射
  • ARP协议使用过程:
  • 检查ARP高速缓存,有对应表项则写入MAC帧,没有则用目的MAC地址未FF-FF-FF-FF-FF-FF的帧封装并广播ARP亲求分组,同一局域网中所有主机都能都能收到该请求,目的主机收到请求后就会向源主机单播一个ARP响应分组,源主机收到后将此映射写入ARP缓存(10-20min更新一次)

15、请你说说CLOSE_WAIT

TCP连接中对方释放请求,自身未发送FIN时

  • 在TCP四次挥手阶段,当对方提出连接释放请求时,自身给予响应ACK确认应答,但是TCP连接是全双工的,也需自身发送连接释放请求,即FIN。若自身没有立即发送FIN,进入CLOSE_WAIT状态。
  • 产生CLOSE_WAIT的原因一般是对方关闭了连接,但是自身还在读取数据或传输数据,没有关闭连接

16、请你说说对称加密和非对称加密

  • **对称加密:**加密和解密使用同一个密钥,只有一个密钥,作为私钥
  • **非对称加密:**加密和解密使用不同的密钥,一把作为公开的公钥,一把作为私钥。公钥加密的信息只有私钥才能解密;私钥加密的信息只有公钥才能解密。更安全

17、请你说说HTTPS

HTTPS在HTTP的基础上加上TLS\SSL

  • 内容加密:混合加密方式,对称加密和非对称加密
  • 身份验证:通过证书认证客户端访问的是正确的服务器
  • 数据完整性:防止传输的数据被中间人篡改

SSL/TLS用在传输层为数据通讯提供安全支持

  • SSL:Secure Sockets Layers安全套接层
  • TLS:Transport Layers Security安全传输层协议

18、请你说说HTTP1.X和HTTP2.0的区别是什么?

1、简述HTTP1.0

  • 规定请求头/请求尾、响应头/响应尾 get/post
  • 每一个请求都是一个单独的连接,做不到连接复用

2、http1.1的改进

  • 默认开启长连接,在一个tcp连接上可以传送多个http请求和响应,tcp长连接改善http1.0短连接造成的性能开销
  • 支持管道(pipeline)网络传输:只要第一个请求发出去了,不必等其回来,就可发第2个请求出去,减少整体响应时间
  • 服务端无法主动push

3、http2.0的改进

  • 头部压缩:HTTP1.X的头部带有大量信息,而且每次都要重复发送,HTTP2.0使用encoder来减少需要传输的头部大小,通讯双方各自缓存一部头部表,既避免重复头部的传输,又减小了需要传输的大小
  • 二进制数据帧:帧对数据进行顺序标识,序号id,服务器进行并行传输数据。HTTP1.x的解析是基于文本,但是基于文本协议的格式解析存在天然缺陷。文本的表现形式具有多样性,要做到健壮性考虑的场景必然很多,二进制则不同,只人0和1的组合。基于这种考虑HTTP2.0协议决定采用二进制格式,实现方便且健壮。
  • 多路复用:连接共享,每一个请求都是用作连接共享机制的。一个请求对应一个id,这样一个连接上可以有多个请求,每个连接的请求可以随机的混杂在一个,接收方可以根据请求的id将请求再归属到各自不同的服务端请求里面。
  • 服务器推送:如果请求了index、html文件,服务器端会主动将它的依赖文件一起返回。

19、请你说说HTTPS加解密过程是怎么样的?

在这里插入图片描述

20、请你说说TCP超时重传机制,时间是多少?

  • TCP每发送一条报文,就会启动定时器,如果在定时器超时前没能确认收到信息,就会启动超时重传机制。RTO(重传超时时间)是影响超时重传的重要因素,RTO过大,不易启动重传机制,RTO过小,重传频率过快;
  • RTO=RTTS-4RTTd
  • RTTs:加权平均往返时间
  • RTTd:偏差的加权平均值

21、UDP怎么样可以实现可靠的传输?

将运输层TCP的可靠传输机制在应用层实现:确认机制、重传功能、流量控制、拥塞控制等功能实现在应用层

  • 提供超时重传机制,能避免数据报丢失的问题
  • 提供确认序列号,保证数据拼接时候的正确排序。
  • 请求端:首先在UDP数据报定义一个首部,首部包含确认序列号的时间戳,时间戳是用来计算RTT(数据报传输的往返时间),计算出合适的RTO(重传超时时间),然后以等-停的方式发送数据报,收到对端的确认之后才发送下一个的数据报。当时间超时,本端重传数据报,同时RTO扩大为原来的两倍,重新开始计时。
  • 响应端:接受到一个数据报之后取下该数据报首部的时间戳和确认序列号,并添加本端的确认数据报首部之后发送给对端,根据此序列号对已收到的数据报进行排序并丢弃重复的数据报。

22、快重传

  • 在超时重传定时器溢出之前,接收到3个重复冗余ack,发送端便知晓哪个报文段在传输过程中丢失了,重发该报文,不需等待超时重传计数器溢出再发送该报文

23、半连接队列

tcp握手中,当服务器处于syn-rcvd状态,服务器会把此种状态下请求放在一个队列里。

24、syn攻击

利用tcp协议缺陷,通过发送大量半连接请求,占用半连接队列,耗费cpu和内存资源
优化:

  • 缩短syn timeout时间
  • 记录ip,若连续收到某个ip的重复syn报文,从这个ip地址来的包会被一概丢弃

25、简述cookie

  • http协议是无状态的
  • 为了能处理更加复杂的逻辑,http 1.1引入cookie保存状态信息
  • cookie是服务端产生,发送给客户端保存
  • 当客户端再次访问时,服务端可根据cookie辨识客户端是哪个,做个性化推送,免账号密码登录

26、简述session

  • 标记特定客户端信息,存在服务器的一个文件里
  • 客户端带cookie对服务器进行访问,可通过cookie中的session id从整个session中查询到服务器记录的关于客户端的信息

27、转发和重定向

  • 转发是服务器行为,服务器直接向目标地址访问url,将相应内容读取之后发给浏览器,用户浏览器地址url不变
  • 重定向利用服务器返回的状态码来实现,301/302,浏览器收到新消息后自动跳转到新的地址,重新请求资源,用户地址栏url会发生改变,不能共享资源

28、dos攻击

  • Denial of service拒绝服务攻击
  • 发送大量无用请求数据包给服务器,耗尽服务器资源,无法通过正常访问服务器资源,导致服务器奔溃

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

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

相关文章

大数据——Spark Streaming

是什么 Spark Streaming是一个可扩展、高吞吐、具有容错性的流式计算框架。 之前我们接触的spark-core和spark-sql都是离线批处理任务&#xff0c;每天定时处理数据&#xff0c;对于数据的实时性要求不高&#xff0c;一般都是T1的。但在企业任务中存在很多的实时性的任务需求&…

超大视频如何优雅切片

背景 有一次录屏产生了一个大小为33G的文件, 我想把他上传到B站, 但是B站最大只支持4G. 无法上传, 因此做了一个简单的探索. 质疑与思考 a. 有没有一个工具或一个程序协助我做分片呢? 尝试 a. 必剪 > 有大小限制, 添加素材加不进去(而且报错信息也提示的不对) b. PR &…

C++设计模式_07_Bridge 桥模式

文章目录 1. 动机&#xff08;Motivation&#xff09;2. 代码演示Bridge 桥模式2.1 基于继承的常规思维处理2.2 基于组合关系的重构优化2.3 采用Bridge 桥模式的实现 3. 模式定义4. 结构&#xff08;Structure&#xff09;5. 要点总结 与上篇介绍的Decorator 装饰模式一样&…

从零开始读懂相对论:探索爱因斯坦的科学奇迹

&#x1f482; 个人网站:【工具大全】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 引言 阿尔伯特爱因斯坦…

竞赛 机器视觉 opencv 深度学习 驾驶人脸疲劳检测系统 -python

文章目录 0 前言1 课题背景2 Dlib人脸识别2.1 简介2.2 Dlib优点2.3 相关代码2.4 人脸数据库2.5 人脸录入加识别效果 3 疲劳检测算法3.1 眼睛检测算法3.2 打哈欠检测算法3.3 点头检测算法 4 PyQt54.1 简介4.2相关界面代码 5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#x…

Transformer预测 | Pytorch实现基于Transformer 的锂电池寿命预测(CALCE数据集)

文章目录 效果一览文章概述模型描述程序设计参考资料效果一览 文章概述 Pytorch实现基于Transformer 的锂电池寿命预测,环境为pytorch 1.8.0,pandas 0.24.2 随着充放电次数的增加,锂电池的性能逐渐下降。电池的性能可以用容量来表示,故寿命预测 (RUL) 可以定义如下: SOH(t…

flutter开发实战-video_player插件播放抖音直播实现(仅限Android端)

flutter开发实战-video_player插件播放抖音直播实现&#xff08;仅限Android端&#xff09; 在之前的开发过程中&#xff0c;遇到video_player播放视频&#xff0c;通过查看video_player插件描述&#xff0c;可以看到video_player在Android端使用exoplayer&#xff0c;在iOS端…

workerman的基本用法(示例详解)

workerman是什么&#xff1f; Workerman是一个异步事件驱动的PHP框架&#xff0c;具有高性能&#xff0c;可轻松构建快速&#xff0c;可扩展的网络应用程序。支持HTTP&#xff0c;Websocket&#xff0c;SSL和其他自定义协议。支持libevent&#xff0c;HHVM&#xff0c;ReactPH…

el-table 设置最大高度且能刚好撑满

max-height"calc(90vh - 120px)"90vh视口高度的90%自行调整即可

解决: 使用html2canvas和print-js打印组件时, 超出高度出现空白页

如果所示&#xff1a;当我利用html2canvas转换成图片后, 然后使用print-js打印多张图片, 第一张会出现空白页 打印组件可参考这个: Vue-使用html2canvas和print-js打印组件 解决: 因为是使用html2canvas转换成图片后才打印的, 而图片是行内块级元素, 会有间隙, 所以被挤下去了…

真香!Jenkins 主从模式解决问题So Easy~

01.Jenkins 能干什么 Jenkins 是一个开源软件项目&#xff0c;是基于 Java 开发的一种持续集成工具&#xff0c;用于监控持续重复的工作&#xff0c;旨在提供一个开放易用的软件平台&#xff0c;使软件项目可以进行持续集成。 中文官网&#xff1a;https://jenkins.io/zh/ 0…

Docker基础(CentOS 7)

参考资料 hub.docker.com 查看docker官方仓库&#xff0c;需要梯子 Docker命令大全 黑马程序员docker实操教程 &#xff08;黑马讲的真的不错 容器与虚拟机 安装 yum install -y docker Docker服务命令 启动服务 systemctl start docker停止服务 systemctl stop docker重启…

Redis AOF重写原原理

重写aof之前 appendonly.aof.1.base.aof appendonly.aof.1.incr.aof appendonly.aof.manifest 重写aof 一次 appendonly.aof.2.base.aof 大小变化 appendonly.aof.2.incr.aof 大小o appendonly.aof.manifest 大小不变 AOF文件重写并不是对原文件进行重新整理&#xff0c;而是直…

Docker搭建MySQL8.0主从复制(一主一从)

0. 配置说明 宿主机使用的版本为19045的win10专业版&#xff0c;MySQL使用的是8.0&#xff0c;Docker容器使用Linux。 1. 安装Docker Desktop 略 修改Docker默认安装路径 安装包自己就提供了修改安装路径的功能&#xff0c;CMD中运行&#xff1a; “Docker Desktop Installe…

财务明细一目了然,颜色标记记录轻松掌握个人账目!

无论您是想更好地理清个人收支&#xff0c;还是希望在财务管理中更加高效&#xff0c;我们为您推荐一款绝佳的财政管理神器&#xff1a;颜色标记记录&#xff01; 第一步&#xff0c;首先&#xff0c;我们要先进入【晨曦记账本】主页面&#xff0c;并点击上方功能栏里的“添加…

[开源]MIT协议,开源论坛程序,拥有友好的用户界面和操作体验

一、开源项目简介 尤得一物是一个开源论坛程序&#xff0c;提供丰富的功能&#xff0c;可以作为管理或分享文章的论坛博客&#xff0c;也可以在此基础上进行自定义开发。 二、开源协议 使用MIT开源协议 三、界面展示 四、功能概述 尤得一物是一个开源论坛程序&#xff0c;…

如何使用Docker轻松构建和管理应用程序(一)

如今Docker的使用已经非常普遍&#xff0c;特别在一线互联网公司。使用Docker技术可以帮助企业快速水平扩展服务&#xff0c;从而到达弹性部署业务的能力。在云服务概念兴起之后&#xff0c;Docker的使用场景和范围进一步发展&#xff0c;如今在微服务架构越来越流行的情况下&a…

discuz封面设置失败的解决办法(centos系统+windows系统)

discuz封面设置失败的解决办法(centos系统windows系统&#xff09; centos系统&#xff1a;1、开启/var/www/html 这个目录的读写权限chmod -R 777 /var/www/html然后重启httpd&#xff1a;service httpd restart如果discuz论坛发布帖子&#xff0c;还是显示封面设置失败的话…

云计算安全和云原生安全的关系

云计算安全(Cloud Computing Security)指的是在云环境中保护数据、应用程序和基础设施的安全性。它包括保护云服务提供商的基础设施和平台&#xff0c;以及云服务用户的数据和应用程序。 云原生安全(Cloud-Native Security)则是指在云原生环境中保护应用程序和服务的安全性。云…

基于maven的项目搭建(已跑通)

1、直接选择archetype-webapp即可 &#xff08;这里很多人会觉得很慢–解决方案&#xff1a;https://blog.csdn.net/qq_45591895/article/details/133705674?spm1001.2014.3001.5501&#xff09; 2、手动添加一个java目录即可。 3、添加Tomcat 3、这就跑通了&#xff0c;可以…