当前位置: 首页 > news >正文

计算机网络常识

文章目录

  • 1、HTTP
  • 2、HTTP状态码
    • 1xx(信息性状态码):
    • 2xx(成功状态码):
    • 3xx(重定向状态码):
    • 4xx(客户端错误状态码):
    • 5xx(服务器错误状态码):
  • 3、DNS
    • 组成部分:
    • DNS的工作流程:
  • 4、Session和Cookie
    • 联系:
    • 区别:
    • 使用Cookie的情景:
    • 使用Session的情景:
  • 5、GET请求和POST请求
    • 1. 参数传递位置:
    • 2. 参数长度限制:
    • 3. 安全性:
    • 4. 数据类型:
    • 5. 缓存:
  • 6、PING命令
    • PING命令的使用
    • PING命令的功能
  • 7、HTTP和HTTPS
    • 1. 安全性:
    • 2. 加密方式:
    • 3. 端口号:
    • 4. 证书:
    • 5. 性能:
    • 6、Http处理流程
    • 7、Https处理流程
  • 8、TCP(传输控制协议)和UDP(用户数据报协议)
  • 9、IP(Internet Protocol,互联网协议)
    • IPv4
  • 10、TCP的可靠性
    • 1. 序列号和确认机制:
    • 2. 窗口机制:
    • 3. 超时重传机制:
    • 4. 拥塞控制机制:
  • 11、ARQ(Automatic Repeat reQuest)
  • 12、OSI模型,TCP/IP模型
    • OSI模型
    • TCP/IP模型

1、HTTP

  • 是超文本传输协议(Hypertext Transfer
    Protocol)的缩写,是一种用于传输超文本数据的协议。它是互联网上应用最为广泛的协议之一,用于浏览器和Web服务器之间的通信。
  • HTTP使用客户端-服务器模型,客户端发送HTTP请求给服务器,服务器根据请求返回相应的HTTP响应。请求和响应都由HTTP协议规定了特定的格式。
  • HTTP的基本功能包括传输、请求和响应。它可以传输各种类型的数据,如文本、图像、音频和视频等。
  • HTTP请求方法有GET、POST、PUT、DELETE等,用于向服务器发送不同类型的请求。
  • HTTP响应状态码表示服务器对请求的处理结果,如200表示请求成功,404表示请求的资源不存在等。
  • 除了基本功能,HTTP还支持一些其他的特性,如缓存、认证、安全等。
  • 通过HTTP头部字段,可以传递一些附加信息,如请求的内容类型、编码方式、Cookie等。

2、HTTP状态码

以下是常见状态码的功能:

1xx(信息性状态码):

100(继续):表示服务器已经收到了客户端的请求,客户端可以继续发送请求的剩余部分。

  • 101(切换协议):表示服务器正在根据客户端的请求切换协议。

2xx(成功状态码):

200(成功):表示客户端的请求已成功被服务器接收、理解和处理。

  • 201(已创建):表示服务器已成功处理客户端的请求,并创建了新的资源。
  • 204(无内容):表示服务器已成功处理了请求,但没有返回任何内容。

3xx(重定向状态码):

301(永久重定向):表示请求的资源已永久移动到新的URL。

  • 302(临时重定向):表示请求的资源临时移动到新的URL。
  • 304(未修改):表示客户端缓存的资源是最新的,无需重新下载。

4xx(客户端错误状态码):

400(错误请求):表示服务器无法理解客户端的请求。

  • 401(未授权):表示客户端未经授权,需要进行身份验证。
  • 403(禁止访问):表示服务器拒绝客户端的请求。
  • 404(未找到):表示服务器无法找到请求的资源。

5xx(服务器错误状态码):

500(内部服务器错误):表示服务器在处理请求时遇到了错误。

  • 502(错误网关):表示服务器作为网关或代理,从上游服务器接收到无效的响应。
  • 503(服务不可用):表示服务器暂时无法处理请求,通常是因为服务器过载或维护。
    DNS(Domain Name System)是互联网中用于将域名解析为IP地址的系统。它充当了互联网的“电话簿”,将易于记忆的域名转换为计算机可理解的IP地址。

3、DNS

组成部分:

  1. DNS服务器:DNS服务器存储着域名和对应的IP地址的映射关系。它们可以分为多个层次的服务器,包括根域名服务器、顶级域名服务器、权威域名服务器和本地域名服务器。

  2. 根域名服务器:根域名服务器是整个DNS层次结构的最顶层,它存储了顶级域名服务器的地址,负责返回顶级域名服务器的IP地址给请求者。

  3. 顶级域名服务器:顶级域名服务器是指管理特定顶级域名(如.com、.org、.net等)的服务器。每个顶级域名都有一个对应的顶级域名服务器,它负责返回下一级的权威域名服务器的IP地址。

  4. 权威域名服务器:权威域名服务器是存储着具体域名和对应IP地址映射关系的服务器。当收到查询请求时,它会返回所请求域名的IP地址。

  5. 本地域名服务器:本地域名服务器是用户计算机或网络中的DNS服务器。当用户发起域名查询时,本地域名服务器会先检查自己的缓存,如果找到了对应的IP地址,则直接返回给用户。如果没有找到,则向其他DNS服务器发送查询请求,获取并缓存相应的IP地址。

DNS的工作流程:

如下:

  1. 用户在浏览器中输入一个域名。
  2. 本地域名服务器检查缓存,如果有对应的IP地址,则直接返回给用户。
  3. 如果缓存中没有对应的IP地址,则本地域名服务器向根域名服务器发起查询请求。
  4. 根域名服务器返回顶级域名服务器的IP地址给本地域名服务器。
  5. 本地域名服务器再向顶级域名服务器发起查询请求。
  6. 顶级域名服务器返回权威域名服务器的IP地址给本地域名服务器。
  7. 本地域名服务器最终向权威域名服务器发起查询请求。
  8. 权威域名服务器返回域名对应的IP地址给本地域名服务器。
  9. 本地域名服务器将获取到的IP地址缓存,并返回给用户。
  10. 用户的浏览器使用获取到的IP地址与目标服务器建立连接。

4、Session和Cookie

都是用于在Web应用中跟踪用户状态和存储用户信息的机制,但它们有一些联系和区别。

联系:

  1. 存储用户信息:Session和Cookie都可以用于存储用户相关的信息,例如用户ID、用户名、购物车内容等。
  2. 跨页面保持状态:Session和Cookie都可以用于在不同页面之间保持用户的状态,以便用户在整个会话期间保持登录状态或进行个性化设置。
  3. 服务器端存储:Session和Cookie的数据都是存储在服务器端的,客户端只保存了对应的标识符。

区别:

  1. 存储位置:Cookie是将数据存储在客户端的浏览器中,而Session是将数据存储在服务器端的内存或数据库中。
  2. 安全性:由于Cookie是存储在客户端,所以容易受到跨站脚本攻击(XSS)和跨站请求伪造(CSRF)等安全攻击。而Session的数据存储在服务器端,相对来说更安全。
  3. 存储容量:Cookie的存储容量较小,一般不超过4KB。而Session的存储容量较大,可以存储更多的数据。
  4. 生命周期:Cookie可以设置过期时间,可以在浏览器关闭后仍然存在,而Session的生命周期通常与用户会话相关,当用户关闭浏览器后,Session会被销毁。

使用Cookie的情景:

  • 假设有一个电子商务网站,用户在登录页面输入用户名和密码进行登录。
  • 如果选择使用Cookie来保持用户的登录状态,服务器在验证通过后会生成一个包含用户信息的加密字符串,并将该字符串存储在一个名为"login"的Cookie中,然后将该Cookie发送给客户端浏览器。
  • 客户端浏览器会保存该Cookie,并在每次请求该网站的时候将该Cookie发送给服务器。
  • 服务器通过解析Cookie中的信息来识别用户,并保持用户的登录状态。
  • 这样,用户在整个会话期间都可以保持登录状态,无需每次都重新输入用户名和密码。

使用Session的情景:

  • 假设有一个博客网站,用户在登录页面输入用户名和密码进行登录。如果选择使用Session来保持用户的登录状态,服务器在验证通过后会为该用户在服务器端创建一个唯一的Session对象,并生成一个Session ID。
  • 然后,服务器将该Session ID发送给客户端浏览器,并将该Session对象存储在服务器端的内存或数据库中。
  • 客户端浏览器会保存该Session ID,并在每次请求该网站的时候将该Session ID发送给服务器。
  • 服务器通过Session ID来识别用户,并从服务器端的存储中获取对应的Session对象,以获取用户的登录状态和其他相关信息。

综上所述,

  • 对于需要在客户端保持状态的场景,例如记住登录状态、保持个性化设置等,可以选择使用Cookie。
  • 而对于需要在服务器端保持状态的场景,例如存储用户信息、保持会话状态等,可以选择使用Session。

5、GET请求和POST请求

是HTTP协议中常用的两种请求方法,它们在发送请求和接收响应时有一些区别。

1. 参数传递位置:

在GET请求中,参数是通过URL的查询字符串(query string)传递的,即将参数附加在URL的末尾,以"?“符号开始,参数之间使用”&"符号分隔。而在POST请求中,参数是通过请求体(request body)传递的,即将参数放在请求的主体部分。

2. 参数长度限制:

由于GET请求将参数直接附加在URL中,URL的长度是有限制的。不同的浏览器和服务器对URL长度的限制可能不同,一般来说,GET请求的参数长度应该控制在2KB左右。而POST请求没有长度限制,可以传输大量的数据。

3. 安全性:

GET请求的参数会显示在URL中,可以被用户轻易看到,因此不适合传递敏感信息。而POST请求的参数在请求体中,不会显示在URL中,相对更安全。

4. 数据类型:

GET请求一般用于获取数据,不会对服务器产生副作用,也不会改变服务器的状态。而POST请求一般用于提交数据,可能会对服务器产生副作用,比如创建、更新或删除资源。

5. 缓存:

GET请求可以被浏览器缓存,下次再请求相同的URL时可以直接从缓存中获取数据。而POST请求一般不会被缓存,每次请求都会从服务器获取最新数据。

6、PING命令

是一个网络诊断工具,用于测试主机之间的连通性。它通过向目标主机发送ICMP(Internet Control Message Protocol)回显请求消息,然后等待目标主机返回回显回复消息,从而判断网络连接状况。

PING命令的使用

很简单,只需要在命令行窗口中输入"ping"加上目标主机的IP地址或域名,然后回车即可。
例如,"ping www.google.com"或"ping 192.168.0.1"。

PING命令的功能

主要包括以下几个方面:

  1. 测试网络连接:通过向目标主机发送ICMP请求,可以检测网络是否正常连接,以及网络延迟情况。
  2. 测试主机是否在线:如果目标主机能够回复PING请求,说明该主机正常在线工作。
  3. 测试网络质量:通过PING命令返回的延迟时间(ping延迟)可以判断网络的质量,延迟时间越小,网络质量越好;延迟时间越大,网络质量越差。
  4. 检测网络故障:如果PING命令返回的是超时或失败的消息,说明网络可能存在故障,可以通过这种方式进行初步排查。
  5. 获取目标主机的IP地址:如果在PING命令中使用域名而不是IP地址,它会将域名解析为IP地址,帮助我们了解目标主机的具体IP地址。

7、HTTP和HTTPS

是用于在客户端和服务器之间进行数据传输的协议,它们之间主要区别如下:

1. 安全性:

HTTP是明文传输协议,数据在传输过程中不经过任何加密处理,容易被窃听和篡改。而HTTPS通过使用SSL/TLS协议对数据进行加密,保证了数据传输的安全性,防止了数据被窃听和篡改。

2. 加密方式:

HTTP不进行数据加密,而HTTPS使用SSL/TLS协议对数据进行加密。SSL/TLS协议使用了公钥加密和对称加密两种方式,保证了数据的机密性和完整性。

3. 端口号:

HTTP默认使用80端口进行通信,而HTTPS默认使用443端口进行通信。这样的区分使得服务器能够根据端口号来区别处理HTTP和HTTPS的请求。

4. 证书:

HTTPS需要使用数字证书来验证服务器的身份。证书由权威的第三方机构颁发,用于证明服务器的合法性和可信度。客户端在建立HTTPS连接时会验证服务器的证书,确保通信的安全性。

5. 性能:

由于HTTPS需要进行加密和解密的操作,相比HTTP而言,会稍微增加一些计算和通信的开销,因此在性能上可能略有差异。

总结来说,HTTP是一种不安全的协议,适用于对数据安全性要求不高的场景,而HTTPS通过使用加密技术确保了数据传输的安全性,适用于对数据安全性要求较高的场景,如在线支付、网上购物等。在现代互联网中,随着对数据安全和隐私的要求不断提高,HTTPS的应用越来越广泛。

6、Http处理流程

HTTP(超文本传输协议)是一种用于在Web浏览器和Web服务器之间传输数据的协议。它使用明文传输数据,不提供数据的加密和安全性保护。HTTP的处理流程如下:

  1. 客户端发起HTTP请求:客户端(通常是Web浏览器)向服务器发送HTTP请求,其中包括请求的方法(GET、POST等)、请求的URL、请求头和请求体等信息。

  2. 服务器接收和处理请求:服务器接收到客户端的请求后,根据请求的URL和方法执行相应的操作,如获取资源、处理表单数据等。

  3. 服务器发送HTTP响应:服务器根据处理结果生成HTTP响应,包括响应的状态码、响应头和响应体等信息,然后将响应发送回客户端。

  4. 客户端接收和处理响应:客户端接收到服务器的响应后,根据响应的状态码和内容进行相应的处理,如显示网页内容、处理响应数据等。

7、Https处理流程

HTTPS(超文本传输安全协议)是在HTTP基础上加入了安全性保护的协议。它使用SSL/TLS协议对数据进行加密和身份验证,确保数据传输的安全性。HTTPS的处理流程如下:

  1. 客户端发起HTTPS请求:客户端向服务器发送HTTPS请求,其过程与HTTP相似。

  2. 服务器发送数字证书:服务器在响应中发送数字证书给客户端,证书中包含了服务器的公钥和其他信息。

  3. 客户端验证证书:客户端使用内置的证书颁发机构(CA)列表来验证服务器发送的证书的合法性和有效性。验证包括检查证书的签名、有效期和颁发机构等。

  4. 客户端生成随机密钥:客户端生成一个随机的对称密钥,用于后续的数据加密和解密。

  5. 客户端使用服务器的公钥加密密钥:客户端使用服务器的公钥对生成的随机密钥进行加密,然后将加密后的密钥发送给服务器。

  6. 服务器使用私钥解密密钥:服务器使用自己的私钥对收到的加密密钥进行解密,得到客户端生成的随机密钥。

  7. 客户端和服务器之间的加密通信:客户端和服务器使用客户端生成的随机密钥进行对称加密通信,保证数据的安全性。

值得注意的是,HTTPS还可以进行证书链验证和服务器身份验证等操作,以确保通信的安全性和可靠性。

8、TCP(传输控制协议)和UDP(用户数据报协议)

是两种常用的网络传输协议,用于在计算机网络中传输数据。它们在以下几个方面存在差异:

  1. 可靠性:TCP是一种可靠的协议,它通过使用确认和重传机制来确保数据的可靠传输。如果数据包丢失或损坏,TCP会自动重新发送丢失的数据包。而UDP是一种不可靠的协议,它不提供确认和重传机制,发送的数据包可能会丢失或者以无序的方式到达。

  2. 连接性:TCP是一种面向连接的协议,通信双方在传输数据之前需要建立一个连接。连接的建立需要进行三次握手,而断开连接需要进行四次挥手。UDP是一种无连接的协议,通信双方之间没有建立连接的过程。

  3. 速度:由于TCP提供了可靠性保证和连接管理,因此它的传输速度相对较慢。UDP则没有这些额外的开销,因此传输速度较快。

  4. 适用场景:由于TCP的可靠性和连接管理特性,它适用于需要确保数据完整性和顺序性的应用,如文件传输、电子邮件等。UDP则适用于对实时性要求较高的应用,如音视频传输、实时游戏等。

需要注意的是,TCP和UDP并不是对立的选择,而是根据应用场景的需求来选择合适的传输协议。在某些情况下,也可以将它们结合使用,例如在音视频传输中,可以使用UDP来传输实时数据,而使用TCP来传输控制信令和重要的控制信息。

9、IP(Internet Protocol,互联网协议)

是一种网络层协议,它负责在计算机网络中传输数据包。IP协议定义了数据包的格式和路由选择的机制,使得数据包能够在不同的网络之间传输。

IPv4

(Internet Protocol Version 4,互联网协议第四版)

  • 是IP协议的一种具体实现,它是目前广泛使用的IP协议版本。
  • IPv4使用32位地址表示网络上的主机或设备,这些地址由四个8位的数字组成,每个数字范围从0到255,以点分十进制的形式表示。
  • 例如,192.168.0.1就是一个IPv4地址。

IPv4提供了一些基本功能,包括:

  1. 数据包分组和封装:IPv4将传输的数据分割成小的数据包,并封装成IP数据包进行传输。
  2. 地址寻址和路由:IPv4使用IP地址来唯一标识网络上的主机或设备,通过路由选择机制,将数据包从源地址发送到目标地址。
  3. 差错检测:IPv4使用校验和来检测数据包在传输过程中是否出现错误,以保证数据的完整性。
  4. 分片和重组:如果数据包的大小超过了网络的最大传输单元(MTU),IPv4会将数据包进行分片,并在目标地址处进行重组。
  5. TTL(Time to Live):TTL字段用于限制数据包在网络中的存活时间,以防止数据包在网络中无限制地传输。

尽管IPv4在全球范围内广泛使用,但是由于互联网的快速发展和IP地址的有限性,IPv4的地址空间已经逐渐枯竭。因此,为了满足更多的设备连接和互联网的需求,IPv6(Internet Protocol Version 6,互联网协议第六版)作为IPv4的升级版本被提出和使用。IPv6使用128位地址,具有更大的地址空间和更多的扩展功能,以逐步替代IPv4。

10、TCP的可靠性

是通过以下几种原理和机制来实现的:

1. 序列号和确认机制:

每个TCP报文段都有一个序列号,用于标识报文段在发送方和接收方之间的顺序。接收方通过确认序列号来告知发送方已收到的数据。如果发送方未收到确认,就会重新发送数据。

2. 窗口机制:

TCP使用滑动窗口机制来控制发送方和接收方之间的数据流量。发送方通过窗口大小来控制发送的数据量,接收方通过窗口大小来告知发送方可以接收的数据量。这样可以避免发送方发送过多的数据导致接收方无法及时处理。

3. 超时重传机制:

TCP使用超时重传机制来确保数据的可靠传输。发送方在发送数据后会启动一个定时器,如果在规定的时间内未收到确认,则认为数据丢失,会重新发送数据。

4. 拥塞控制机制:

TCP的拥塞控制机制用于避免网络拥塞。当网络出现拥塞时,TCP会减少发送速率以避免进一步加重网络负载。拥塞控制机制包括慢启动、拥塞避免和快速恢复等算法。

11、ARQ(Automatic Repeat reQuest)

是一种通过确认和重传机制实现可靠数据传输的协议。

  • ARQ协议主要用于在不可靠信道上进行数据传输,确保数据的完整性和正确性。
  • ARQ协议的基本原理是发送方发送数据后,接收方会对接收到的数据进行检验,并发送确认信息给发送方。
  • 如果发送方未收到确认信息或者接收方检验出错,发送方会重新发送相应的数据。

ARQ协议主要包括以下几种类型:

  1. 停止等待ARQ:发送方每发送一个数据帧就会等待接收方的确认,只有收到确认后才能发送下一个数据帧。如果发送方未收到确认,会重新发送相同的数据。

  2. 连续ARQ:发送方可以连续发送多个数据帧,而不需要等待接收方的确认。接收方在收到数据帧后会发送累积确认,确认已经接收到的数据帧,未收到的数据帧会被发送方重新发送。

  3. 选择性重传ARQ:接收方在收到数据帧后会发送确认信息,确认已经接收到的数据帧。如果发送方未收到确认信息,会认为数据帧丢失,会选择性地重新发送丢失的数据帧,而不是重传所有的数据帧。

ARQ协议通过确认和重传机制,能够提高数据的可靠性和正确性。不过,ARQ协议会增加传输延迟和带宽占用,因为需要等待确认和重传数据。因此,在设计网络协议时需要根据具体的需求和网络条件选择合适的ARQ协议类型。

12、OSI模型,TCP/IP模型

都是用于描述计算机网络通信的参考模型。

OSI模型

是国际标准化组织(ISO)制定的一种通信协议体系结构,它将网络通信划分为七个不同的层级,每个层级都有特定的功能和协议。这些层级分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。每个层级之间通过接口进行通信,从物理层开始传输数据,逐层封装和解封装,最终到达应用层。

TCP/IP模型

是实际应用最广泛的网络通信模型,它由四个层级组成,分别是网络接口层、网络层、传输层和应用层。网络接口层负责处理物理连接和数据链路层的功能,网络层负责数据包的路由和寻址,传输层负责提供可靠的数据传输服务,应用层负责处理特定应用程序的通信需求。

总结来说,OSI模型是一个理论上的参考模型,用于描述网络通信的不同层级和协议。而TCP/IP模型是一个实际应用的网络通信模型,基于这个模型实现了互联网的通信协议,如TCP和IP。

相关文章:

计算机网络常识

文章目录 1、HTTP2、HTTP状态码1xx(信息性状态码):2xx(成功状态码):3xx(重定向状态码):4xx(客户端错误状态码):5xx(服务器…...

React之Jsx如何转换成真实DOM

一、是什么 react通过将组件编写的JSX映射到屏幕&#xff0c;以及组件中的状态发生了变化之后 React会将这些「变化」更新到屏幕上 在前面文章了解中&#xff0c;JSX通过babel最终转化成React.createElement这种形式&#xff0c;例如&#xff1a; <div>< img src&q…...

OpenCV学习(六)——图像算术运算(加法、融合与按位运算)

图像算术运算 6. 图像算术运算6.1 图像加法6.2 图像融合6.3 按位运算 6. 图像算术运算 6.1 图像加法 OpenCV加法是饱和运算Numpy加法是模运算 import cv2 import numpy as npx np.uint8([250]) y np.uint8([10])# OpenCV加法 print(cv2.add(x, y)) # 25010 260 > 255…...

如何做好一次代码审查,什么样是一次优秀的代码审查,静态代码分析工具有哪些

代码审查是确保代码质量、提升团队协作效率、分享知识和技能的重要过程。以下是进行优秀代码审查的一些指南&#xff1a; 如何做好代码审查&#xff1a; 理解代码的背景和目的&#xff1a; 在开始审查前&#xff0c;确保你了解这次提交的背景和目的&#xff0c;这有助于更准确…...

【Android】一个contentResolver引起的内存泄漏问题分析

长时间的压力测试后&#xff0c;系统发生了重启&#xff0c;报错log如下 JNI ERROR (app bug): global reference table overflow (max51200) global reference table overflow的log 08-08 04:11:53.052912 973 3243 F zygote64: indirect_reference_table.cc:256] JNI ER…...

2023年正版win10/win11系统安装教学(纯净版)

第一步&#xff1a;准备一个8G容量以上的U盘。 注意&#xff0c;在制作系统盘时会格式化U盘&#xff0c;所以最好准备个空U盘&#xff0c;防止资料丢失。 第二步&#xff1a;制作系统盘。 安装win10 进入windows官网 官网win10下载地址&#xff1a;https://www.microsoft.c…...

系统架构设计师-第11章-未来信息综合技术-软考学习笔记

未来信息综合技术是指近年来新技术发展而提出的一些新概念、新知识、新产品 信息物理系统(CPS ) &#xff0c;人工智能( A l) &#xff0c;机器人、边缘计算、数字孪生、云计算和大数据等技术 信息物理系统技术概述 信息物理系统的概念 信息物理系统是控制系统、嵌入式系统…...

Python __new__()方法详解

__new__() 是一种负责创建类实例的静态方法&#xff0c;它无需使用 staticmethod 装饰器修饰&#xff0c;且该方法会优先 __init__() 初始化方法被调用。 一般情况下&#xff0c;覆写 __new__() 的实现将会使用合适的参数调用其超类的 super().__new__()&#xff0c;并在返回之…...

虹科 | 解决方案 | 汽车示波器 索赔管理方案

索赔管理 Pico汽车示波器应用于主机厂/供应商与服务店/4S店的协作&#xff0c;实现产品索赔工作的高效管理&#xff1b;同时收集的故障波形数据&#xff0c;便于日后的产品优化和改进 故障记录 在索赔申请过程中&#xff0c;Pico汽车示波器的数据记录功能可以用于捕捉故障时的…...

详解Jmeter中的BeanShell脚本

BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法&#xff0c;所以它和java是可以无缝衔接的&#xff0c;学了Java的一些基本语法后&#xff0c;就可以来在Jmeter中写写BeanShell脚本了 在利用jmeter进行接口测试或者性能测试的时候&#xff0c…...

前端和后端 优化

1.前端资源优化 1.1 html结构优化 保证简洁、清晰的html结构&#xff0c;减少或避免多余的html标签 使用HTML5的web语义化标签&#xff0c;结构清晰且利于seo css文件在head中引入&#xff0c;js文件放在body底部引入&#xff0c;这样做可以防止阻塞。另外如果有需要提前加载的…...

C++编译与运行:其二、编译期和运行期的区别

C的编译分为四步&#xff0c;最终生成一个可执行文件。 C的运行&#xff0c;就是将可执行文件交给操作系统&#xff0c;按照机器码逐步执行&#xff0c;运行功能。 先看一个非常非常有趣的例子&#xff1a; class Father{ public:virtual void f(){cout<<"I am fat…...

汽车电子专有名词与相应技术

1.EEA &#xff08;Electronic & Electrical Architecture 电子电气架构&#xff09; EEA在宏观上概括为物理架构与逻辑架构的结合&#xff0c;微观上通过众多电子元器件的协同配合&#xff0c;或集成式或分布式的系统级电子电气架构&#xff0c;具体详见专栏 新能源汽车电…...

idea 没加载 provided的包

目录 前言解决方案 前言 我的版本是IntelliJ IDEA 2022.1.4 (Community Edition)&#xff0c;本地调试不知道为什么不加载provided的包。后来找到这篇文章https://youtrack.jetbrains.com/issue/IDEA-107048才知道这是个bug。不知道其他版本会不会出现这种问题。 解决方案 我…...

Hover:借贷新势力崛起,在经验与创新中找寻平衡

复苏中的Cosmos 如果让我选择一个最我感到可惜的区块链项目&#xff0c;我会选择Cosmos。 Cosmos最早提出并推动万链互联的概念&#xff0c;希望打通不同链之间的孤岛&#xff0c;彼时和另一个天王项目Polkadot号称跨链双雄。其跨链技术允许不同的区块链网络互相通信&#xf…...

软件设计原则-依赖倒置原则讲解以及代码示例

依赖倒置原则 一&#xff0c;介绍 1.前言 依赖倒置原则&#xff08;Dependency Inversion Principle&#xff0c;DIP&#xff09;是面向对象设计中的一个重要原则&#xff0c;由Robert C. Martin提出。 依赖倒置原则的核心思想是&#xff1a;高层模块不应该依赖于低层模块&…...

Linux--进程替换

1.什么是进程替换 在fork函数之后&#xff0c;父子进程各自执行代码的一部分&#xff0c;但是如果子进程想要执行一份全新的程序呢&#xff1f; 通过进程替换来完成&#xff0c;进程替换就是父子进程代码发生写时拷贝&#xff0c;子进程执行自己的功能。 程序替换就是通过特定的…...

【计算机网络】TCP协议

文章目录 1. TCP报文的结构2. TCP的发送缓冲区和接收缓冲区3. 确保可靠性序列号和确认序列号确认应答超时重传连接管理1️⃣三次握手建立连接2️⃣四次挥手断开连接 4. 提高性能流量控制滑动窗口拥塞控制延迟应答捎带应答 5. 面向字节流6. TCP/UDP对比 概念&#xff1a;TCP&…...

机器学习数据集:Kaggle

什么是Kaggle&#xff1f; Kaggle成立于2010年&#xff0c;是一个进行数据发掘和预测竞赛的在线平台。从公司的角度来讲&#xff0c;可以提供一些数据&#xff0c;进而提出一个实际需要解决的问题&#xff1b;从参赛者的角度来讲&#xff0c;他们将组队参与项目&#xff0c;针…...

软考 系统架构设计师系列知识点之设计模式(4)

接前一篇文章&#xff1a;软考 系统架构设计师系列知识点之设计模式&#xff08;3&#xff09; 所属章节&#xff1a; 老版&#xff08;第一版&#xff09;教材 第7章. 设计模式 第2节. 设计模式实例 3. 行为型模式 行为型模式可以影响一个系统的状态和行为流。通过优化状态…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

1.3 VSCode安装与环境配置

进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件&#xff0c;然后打开终端&#xff0c;进入下载文件夹&#xff0c;键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载&#xff0c;仅供自学使用&#xff0c;侵权必究&#xff0c;如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同&#xff0c;结合所安装的tensorflow的目录结构修改from语句即可。 原语句&#xff1a; from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后&#xff1a; from tensorflow.python.keras.lay…...

佰力博科技与您探讨热释电测量的几种方法

热释电的测量主要涉及热释电系数的测定&#xff0c;这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中&#xff0c;积分电荷法最为常用&#xff0c;其原理是通过测量在电容器上积累的热释电电荷&#xff0c;从而确定热释电系数…...

基于 TAPD 进行项目管理

起因 自己写了个小工具&#xff0c;仓库用的Github。之前在用markdown进行需求管理&#xff0c;现在随着功能的增加&#xff0c;感觉有点难以管理了&#xff0c;所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD&#xff0c;需要提供一个企业名新建一个项目&#…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...

【Linux系统】Linux环境变量:系统配置的隐形指挥官

。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量&#xff1a;setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...