一、HTTP基础知识

HTTP全称Hyper Text Transfer Protocol,即超文本传输协议。HTTP是一个应用层协议,可视为一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范。

在这里插入图片描述

1. HTTP请求流程

我们这里就直接以一个常见的面试题引入啦。

在浏览器中输入 www.baidu.com 后会发生什么?

当一个用户在浏览器里输入 www.baidu.com 这个 URL 时,将会发生很多操作。首先它会请求 DNS 把这个域名解析成对应的 IP 地址,然后根据这个 IP 地址在互联网上找到对应的服务器,向这个服务器发起一个GET 请求,由这个服务器决定返回默认的数据资源给访问用户。在服务器端实际上还有很复杂的逻辑:服务器可能有好多台,到底指定哪台服务器来处理请求,这需要一个负载均衡设备来平均分配所有用户的请求;还有请求的数据是存储在分布式缓存里还是一个静态文件中,或是在数据库里;当数据返回浏览器时,浏览器解析数据发现还有一些静态资源(如 CSS、JS 或者图片)时又会发起另外的 HTTP 请求,而这些请求有可能会在 CDN 上,那么 CDN 服务器又会处理这个用户的请求,大体上一个用户请求会涉及这么多操作。每一个细节都会影响这个请求最终是否会成功。

我们不去涉及其中过多的知识,单说HTTP的请求流程即可,从上面我们知道,HTTP协议是由客户端发起的,由请求和响应构成,是一个标准的客户端服务器模型(C/S),它的具体流程如下:

  1. 地址解析。域名系统DNS解析域名得到主机的IP地址;

  2. 封装HTTP请求数据包。封装的内容有以上部分结合本机自己的信息;

  3. 封装成TCP包,建立TCP连接(TCP的三次握手);

  4. 客户机发送请求命令。 建立连接后,客户机向服务器发送一个请求;

  5. 服务器响应。服务器接到请求后,给予相应的响应信息;

  6. 服务器关闭TCP连接。一般Web服务器向浏览器发送了请求数据,它要关闭TCP连接;

  7. 客户端解析报文。客户端接收到响应报文后解析HTML代码,并渲染。

2. 常见状态码

HTTP常见的状态码分为五大类,如下表所示:

状态码类别 具体含义 常见状态码
1xx 提示信息,表示目前是协议处理的中间状态,还需要后续的操作
2xx 成功,报文已经收到并被正确处理 200、204、206
3xx 重定向,资源位置发生变动,需要客户端重新发送请求 301、302、304
4xx 客户端错误,请求报文有误,服务器无法处理; 400、403、404
5xx 服务器错误,服务器在处理请求时内部发生了错误。 500、501、502、503
  • 1xx:1xx类状态码属于提示信息,是协议处理中的一种中间状态,实际用到的比较少。

  • 2xx:2xx类状态码表示成功处理了客户端需求,也是我们浏览器发起请求时常见的状态:

    • 【200 OK】:最常见的成功状态码,表示一切正常。如果是非HEAD请求,服务器返回的响应头都会有 body 数据;
    • 【204 No Content】:也是常见的成功状态码,与 200 OK 基本相同,但响应头没有 body 数据;
    • 【206 Partial Content】:是应用于 HTTP 分块下载或断点续传,表示响应返回的 body 数据并不是资源的全部,而是其中的一部分,也是服务器处理成功的状态;
  • 3xx:3xx类状态码表示客户端请求的资源发生了变动,需要客户端用新的 URL 重新发送请求获取资源,也就是重定向

    • 【301 Moved Permanently】:表示永久重定向,说明请求的资源已经不存在了,需改用新的 URL 再次访问;
    • 【302 Found】:表示临时重定向,说明请求的资源还在,但暂时需要用另一个 URL 来访问;

    注:301 和 302 都会在响应头里使用Location,指明后续要跳转的 URL,浏览器会自动重定向新的 URL。

  • 4xx:4xx类状态码表示客户端发送的报文有误,服务器无法处理,也就是错误码的含义:

    • 【400 Bad Request】:表示客户端请求的报文有错误,但只是个笼统的错误;
    • 【403 Forbidden】:表示服务器禁止访问资源,并不是客户端的请求出错;
    • 【404 Not Found】:表示请求的资源在服务器上不存在或未找到,所以无法提供给客户端。
  • 5xx:5xx类状态码表示客户端请求报文正确,但是服务器处理时内部发生了错误,属于服务器端的错误码:

    • 【500 Internal Server Error】:与400类似,是个笼统通用的错误码,服务器发生了什么错误,我们并不知道;
    • 【501 Not Implement】:表示客户端请求的功能还不支持,类似”即将开业,尽情期待“的意思;
    • 【502 Bad Gatwy】:通常是服务器作为网关或代理时返回的错误码,表示服务器自身工作正常,访问后端服务器发生了错误;
    • 【503 Service Unavailable】:表示服务器当前很忙,暂时无法响应服务器,类似”网络服务正忙,请稍后重试“的意思。

3. 常见字段

首先我们了解一下HTTP的报文结构,大概如下:

在这里插入图片描述

这是常见的请求报文,当然还有响应报文,两者之间并不完全一致,这里只简单提及一下请求报文的格式。

首先是请求方法,常见的请求方法有 GET和POST两种,之后跟着的是URL,即要访问的地址,再后面跟着的就是协议版本,如:HTTP/1.1。

我们主要讲解之后跟着的字段,即请求头,请求头的字段常以key-value的形式,即”属性名:属性值“的形式传递若干数据,服务端据此获取客户端的信息。接下来我们就来了解常见的字段:

  • Accept字段与Content-type字段:

Accept字段用于客户端向服务器发送报文时表示自己可接收的响应内容类型,如:Accept:text/plain (文本类型);

类似的字段还有Accept-Charset 表示可接收的字符集;Accept-Encoding表示可接受的响应内容的压缩方式 ;Accept-Language表示可接受的响应内容语言列表;Accept-Datetime表示可接受的按照时间来表示的响应内容版本。

Content-Type字段用于服务器回应时,告诉客户端,本次数据的格式是什么。

类似的字段还有Content-Encoding字段表示数据的压缩方法,表示服务器返回的数据使用什么压缩格式。

在这里插入图片描述

  • Host字段

    Host字段用于客户端发送请求时,用来指定服务器的域名。例如:Host:www.baidu.com。这里需要与报文中的请求行的 URL 区分,Host字段与 URL 组成完整的请求URL,例如请求行中的URL为/getPerson,而Host字段为www.baidu.com,那么两者结合起来就是www.baidu.com/getPerson

  • Connection字段

    Connection字段最常用于客户端要求服务器使用 TCP 持久连接,以便其他请求复用。

    Connection: keep-alive
    

    扩展:

    • HTTP是无状态的面向连接的协议,无状态并不代表HTTP不能保持TCP连接,HTTP使用的不是UDP(无连接);

    • HTTP/1.1 版本的默认连接都是持久连接,但为了兼容老版本的 HTTP,需要指定Connection首部字段的值为Keep-Alive。简单的说,当一个网页打开完成后,客户端和服务器之间用于传输的 HTTP 数据的 TCP 连接不会立刻关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接;

    • Keep-Alive不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间。
      在这里插入图片描述

  • Content-Length字段

    服务器在返回数据时,会有Content-Length字段,表明本次回应的数据长度。例如:Content-Length: 1000,这表明了服务器本次回应的数据长度是1000个字节,后面的字节就属于下一个回应了。

二、 HTTP存在的问题

1. 性能问题

在 HTTP/1.0 中有很大的性能问题,每次发起一个HTTP请求,都需要去建立一次TCP连接,而且还是串行请求,这使得 HTTP 在 TCP 的连接建立上花费了大量的开销。对于这种问题,HTTP/1.1 中提出了长连接的通信方式,也叫持久连接。这种连接的好处在于减少了 TCP 连接的重复建立和断开所造成的额外开销,减轻了服务器端的负载:

在这里插入图片描述
HTTP/1.1 采用了长连接的方式,这使得管道(Pipeline)网络传输成为了可能。即可在同一个 TCP 连接里面,客户端可以发起多个请求,只要第一个请求发出去了,不必等其回来,就可以发第二个请求出去,可以减少整体的响应时间。

在这里插入图片描述

但是服务器还是按照顺序,先回应第一个请求,完成后再回应第二个请求,以此类推。要是前面的请求回应得特别慢,后面就会有许多请求阻塞着,这就是所谓的【队头阻塞】。

在这里插入图片描述

所以 HTTP/1.0 或是 HTTP/1.1 性能都不是很完美,所以后续会有其他加强。

2. 安全问题

HTTP的内容是明文传输的,明文数据会经过中间代理服务器、路由器、WIFI热点、通信服务运行商等多个物理节点,如果信息在传输过程中被劫持,传输的内容久完全暴露了,劫持者还可以篡改传输的信息且不被双方察觉,这就是中间人攻击

总结一下,HTTP在安全方面有以下三个问题:

  • 使用明文通信,一些重要的内容会被窃听;
  • 不能验证对方身份,可能是伪造的信息;
  • 无法验证报文的完整性,有可能被修改;

三、HTTPS的实现

针对上面我们提到的HTTP的安全问题,HTTPS 在 HTTP 的基础上增加了加密处理、认证机制和完整性保护,我们可以将 HTTPS = HTTP + 加密 + 认证 + 完整性保护

1. 加密

因为 HTTP 使用明文传输,中间会经过多个物理节点,可能会被劫持窃听,针对这一问题,HTTPS 采用了加密的方式解决。最容易理解的就是对称加密。

1.1 对称加密

对称加密好理解,就是我们拥有一个密钥,它可以用来对一段内容进行加密,同样的,在内容被进行加密后,需要用同一个密钥对加密内容进行解密,才能看到原本的内容,可以看作我们日常生活中的钥匙。

HTTP 可以直接使用对称加密吗?

当然不可以。如果通信双方各自持有同一个密钥,且没有第三方知晓,那么这两方之间的通信安全是可以被保证的(毕竟密钥被破解可能性不大)。问题是”如何使得这个密钥可以让传输的双方知晓,同时不被别人知道“?

假如我们现在浏览器生成一个密钥然后发送到服务端,告诉服务端我们双方用这个密钥来加密传输文件。或者是放过来,由服务器生成密钥然后发送给浏览器。很明显这就不现实,我们知道 HTTP 传输时中间是需要经过许多个中间节点的,在经过中间节点时这个密钥被劫持下来是一件十分容易的事,所以这种方式不可取。由此引入非对称加密

1.2 非对称加密

非对称加密有两把密钥,通常一把叫做公钥,另外一把叫做私钥。用公钥加密的内容必须用私钥才能解开,同样的,私钥加密的内容需要用公钥才能解开。

HTTP 可以直接使用非对称加密吗?

还是不可以。鉴于非对称加密的性质,我们可能会有这种思路:服务器先把公钥直接明文传输给浏览器,之后浏览器向服务器传数据前都先用这个公钥加密好再传输,这条数据似乎可以保障了,因为只有服务器端的相应私钥能解开这条数据。但是这样还是有问题,密钥还是可以被劫持的。

如果服务器用它的的私钥加密数据传给浏览器,那么浏览器用公钥可以解密它,而这个公钥是一开始通过明文传输给浏览器的,如果这个公钥被谁劫持到的话,他也能用该公钥解密服务器传来的信息了。所以这种方式的实现还是会有问题,似乎只能保证由浏览器传输数据时的安全性(其实还有漏洞)。

1.3 改良版非对称加密

通过一组公钥、私钥已经能保证单个方向传输的安全性,那用两组公钥私钥是不是就能保证双向传输都安全了,以下面流程为例:

  1. 某网站拥有用于非对称加密的公钥 A、私钥 A‘,浏览器拥有用于非对称加密的公钥 B、私钥 B’ ;
  2. 浏览器向网站服务器发起请求,服务器把公钥 A 明文传输给浏览器;
  3. 浏览器将公钥 B 明文传输给服务器;
  4. 之后浏览器向服务器传输的所有东西都用公钥 A 加密,服务器收到后用私钥 A’ 解密。由于只有服务器拥有这个私钥 A’ 可以解密,所以能保证这条数据的安全;
  5. 服务器向浏览器传输的所有东西都用公钥 B 加密,浏览器收到后用私钥 B’ 解密。同上也可以保证这条数据的安全。

这种实现方式理论上确实可行,抛开这里面仍有的漏洞不谈(下文再述),HTTPS 的加密却没有使用这种方案,为什么?

最主要的原因是非对称加密算法非常耗时,特别是加密解密一些较大数据的时候有些力不从心。相比之下,对称加密就要快很多,那能不能同时运用对称加密与非对称加密的性质来实现对 HTTP 的加密呢?

1.4 混合加密

既然非对称加密耗时,那么就用“对称加密 + 非对称加密”结合的形式来实现对 HTTP 的加密,而且还得尽量减少非堆成加密的次数 ,这样是否能实现呢?

这种方式是可以实现的,而且非对称加密、解密各只需要用一次即可。请看以下过程:

  1. 某网站拥有非对称加密的公钥 A、私钥 A‘ ;
  2. 浏览器向网站服务器发起请求,服务器把公钥 A 明文传输给浏览器;
  3. 浏览器随机生成一个用以对称加密的密钥 X,用公钥 A 加密后传给服务器;
  4. 服务器端拿到加密的密钥后,用公钥 A 解密得到密钥 X;
  5. 这样双方就都拥有密钥 X 了,且别人无法知道它,之后双方所有数据都用密钥 X 进行加密解密。

在这里插入图片描述

HTTPS 基本上就是采用了这种方案了,当然这种方法还是有漏洞,我们接着往下讲。

2. 认证

2.1 中间人攻击

根据上面的混合加密过程,中间人确实无法拥有浏览器生成的对称密钥 X,这个密钥本身就被公钥 A 给加密了,只有服务器才能通过私钥 A‘ 对其进行解密。然而在这个过程中中间人完全不需要获取到密钥 A’ 就能进行攻击了。如下流程所示:

  1. 某网站拥有用于非对称加密的公钥A、私钥A’ ;
  2. 浏览器向网站服务器发起请求,服务器把公钥 A 明文给传输浏览器;
  3. 中间人劫持到公钥A,保存下来,把数据包中的公钥A替换成自己伪造的公钥B(它当然也拥有公钥B对应的私钥B’)
  4. 浏览器随机生成一个用于对称加密的密钥X,用公钥B(浏览器不知道公钥被替换了)加密后传给服务器;
  5. 中间人劫持后用私钥 B’ 解密得到密钥 X,再用公钥 A 将 X 加密后传给服务器
  6. 服务器拿到后用私钥A’解密得到密钥X。

在这里插入图片描述

这样在双方都不会发生异常的情况下,中间人得到了密钥 X,这其中的根本原因就是浏览器无法确认自己收到的公钥是不是网站的。那么接下来就是要解决这一问题。

2.2 数字证书

如何证明浏览器收到的公钥一定是该网站的公钥?这里就需要有一个公信机构给网站颁发一个“身份证”了。网站在使用 HTTPS 前,需要向“CA机构”申请颁发一份数字证书,数字证书里有证书持有者、证书持有者的公钥等信息,服务器把证书传输给浏览器,浏览器从证书里取公钥就行了,证书就如同身份证一样,可以证明“该公钥对应该网站”。

然而到这里还是有一个问题,如何保证证书在传输的过程不会被篡改,身份证本身有防伪的技术,那么如何保证证书的防伪呢?

2.3 数字签名

如何保证证书不被篡改?

我们把证书内容生成一份“签名”,比对证书内容和签名是否一致就能察觉是否被修改,这种技术就称为数字签名

数字签名的制作过程?

  1. CA 拥有非对称加密的私钥和公钥;
  2. CA 对证书明文信息进行 Hash;
  3. 对 Hash 后的值用私钥加密,得到数字签名S;

将明文和数字签名共同组成数字证书,这样一份证书就可以颁发给网站了。

浏览器得到证书后如何验证这份证书的真实性?

  1. 拿到服务器发送过来的证书,得到明文T,数字签名S;
  2. 用CA机构的公钥对 S 解密(由于是浏览器信任的机构,所以浏览器保有CA的公钥),得到S‘;
  3. 浏览器用证书说明的 Hash 算法对明文 T 进行 Hash 得到 T’;
  4. 比较 S‘ 是否等于 T’,等于则代表证书可信。

在这里插入图片描述

浏览器如何得到权威机构的公钥?

上面提到,如何要对服务器发过来的证书进行解密,那么就需要到CA的公钥,因为其被CA的私钥给加密了。那么浏览器是如何拥有CA的公钥呢?

实际上权威机构的公钥并不需要传输,因为权威机构会和主流的浏览器或操作系统合作,将他们的公钥内置在浏览器或操作系统环境中。客户端收到证书之后,只需要从证书中找到权威机构的信息,并从本地环境中找到权威机构的公钥,就能正确解密A公钥。当然实际情况要比这个复杂得多,这里简单介绍就行。

中间人有可能篡改证书吗?

上面我们提到,权威机构的公钥是可能在浏览器或操作系统中的,那么中间人劫持到证书后是可以解密得到原文的。相应的,他也可以去篡改证书的原文,但是由于他没有 CA 机构的私钥,无法相应地篡改签名。所以浏览器收到证书后会发现原文和解密后的值不一致,说明证书已经被篡改,证书不可信了,所以中间人不可能去篡改证书了。

四、HTTPS的请求流程

  1. 客户端向服务器发起 HTTPS 请求,连接到服务器的 443 端口;
  2. 服务器端有一个密钥对,即公钥和私钥,是用来进行非对称加密使用的,服务器端保存着私钥,不能将其泄露,公钥可以发送给任何人;
  3. 服务器将自己的公钥包含在权威机构发布的证书中发送给客户端;
  4. 客户端收到服务器端的证书之后,会对证书进行检查,验证其合法性,如果发现发现证书有问题,那么HTTPS传输就无法继续。严格的说,这里应该是验证服务器发送的数字证书的合法性,关于客户端如何验证数字证书的合法性。如果公钥合格,那么客户端会生成一个随机值,这个随机值就是用于进行对称加密的密钥,我们将该密钥称之为client key,即客户端密钥,这样在概念上和服务器端的密钥容易进行区分。然后用服务器的公钥对客户端密钥进行非对称加密,这样客户端密钥就变成密文了,至此,HTTPS中的第一次HTTP请求结束;
  5. 客户端会发起 HTTPS 中的第二个 HTTP 请求,将被公钥所加密之后的客户端密钥发送给服务器;
  6. 服务器接收到客户端发来的密文之后,会用自己的私钥对其进行非对称解密,解密之后的明文就是客户端密钥,然后用客户端密钥对数据进行对称加密,这样数据就变成了密文。
  7. 然后服务器用对称加密的密钥(即客户端密钥)对报文进行加密,并将加密后的报文发送给客户端;
  8. 客户端收到服务器发送来的密文,用客户端密钥对其进行对称解密,得到服务器发送的数据。这样 HTTPS 中的第二个 HTTP 请求结束,整个 HTTPS 传输完成。

在这里插入图片描述

文章内容绝大数来源网络,我只是个搬运工,若有哪里出错,请评论区指出。

参考资料:

  • 【HTTP协议详解】

  • 【HTTP和HTTPS的区别(面试常考)】

  • 【彻底搞懂HTTPS的加密机制】

  • 肝帝林的公众推送

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

相关文章

  1. B站抖音快手、QQ音乐网易云、微博……毕业典礼晚会哪家强?

    B站抖音快手、QQ音乐网易云、微博……毕业典礼晚会哪家强?转载自: https://www.sohu.com/a/407147386_535321?scm=1002.590044.0.2743-a9&spm=smpc.ch30.content1-n-1.3.1594531074400KYsZtCD又是一年毕业季。 今年的毕业季尤为特殊,在“云答辩”、“云合影”、“云聚餐…...

    2024/4/14 13:53:03
  2. Leetcode---174. 地下城游戏---每日一题---动态规划

    174. 地下城游戏 一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由 M x N 个房间组成的二维网格。我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。 骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降…...

    2024/4/18 1:48:31
  3. 解决办法:VMware中的Ubuntu系统无法连接网络

    解决办法:VMware中的Ubuntu系统无法连接网络 环境: win10、VMware15.5.0、Ubuntu12 问题描述: 在笔记本win10系统上安装了VM,并VM上安装了Ubuntu系统。笔记本已经连上了WiFi,Ubuntu系统的网络连接设置为NAT模式,但在用Ubuntu上网时发现网无法连接。在进行 电源—>Syst…...

    2024/4/4 19:54:22
  4. 创新发明与专利实务网络课程

    学习通app创新发明与专利实务章节测验答案专利制度的历史(一)1【单选题】在第一次工业革命中,蒸汽机发明专利的拥有者瓦特,通过()来行使自己的专利权。DA、授权他制造的蒸汽机B、销售蒸汽机C、卖出专利权D、租赁蒸汽机2【多选题】1624年,关于英国实施《垄断法》,正确的是()。…...

    2024/4/27 18:06:22
  5. 软件体系结构笔记

    软件体系结构笔记 软件开发流程 1.软件开发流程_简介 1.1从管理角度 即从业务和经济的角度来看,软件的生命周期包括四个主要阶段: ​ 起始阶段:有一个好的想法:具体构想产品的设想和它的业务案例,确定项目的范围 。 ​ 细化阶段: 计划必要的活动和所需资源,具…...

    2024/4/20 5:10:31
  6. 仿写淘宝首页

    github地址:https://github.com/Paradoxical-whimsy/tb 自己写的第一个练手项目,根据淘宝首页的视觉效果去仿写出来,大概花了一个月的时间。下面展示一些细节。1号框的位置是搜索栏。左边的放大镜是图片,使用backgroundposition调整位置。照相机图片覆盖了获取文件的input标…...

    2024/4/16 15:06:39
  7. 阿里云容器镜像服务

    1. 镜像加速器 如果我们已经购买了阿里云服务器,并且在服务器里面安装Docker,那么在安装完Docker之后,我们可以配置一下阿里云的镜像加速器;使用镜像加速器的好处就是一般我们想要拉取镜像都会从Docker Hub上拉取,但是这个站点在国外,对于我们来说使用很不方便,下载非常慢,…...

    2024/4/18 13:46:06
  8. WebRTC网络基础 九、第二节 NAT打洞原理

    今天我们来看一下NAT穿越的原理NAT一共有四种类型,分别是完全锥型NAT (Full Cone NAT)、地址限制锥型NAT(Address Restricted Cone NAT)、端口限制锥型NAT (Port Restricted Cone NAT)、对称型NAT (Symmetric NAT),对NAT穿越来说,其实每一种穿越都不一样,下面我就来看一下…...

    2024/4/20 2:04:22
  9. jvm虚拟机常见的面试类型

    1Java内存模型,解释下各分区,Java堆 Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,所有的对象实例以及数组都要在堆上分配。Java堆是垃圾收集器管理的主要区域,因此很多时候也被称做“GC堆”。 2. 方法区 方法区与Jav…...

    2024/4/14 15:04:10
  10. 如何从数据角度为人工智能部署做好数据准备

    如何从数据角度为人工智能部署做好数据准备本文指出面对变革加速和数字化领导力的重要性日益凸显这两大趋势,人工智能作为当今世界最具变革意义的创新之一,为企业提供了一条实现业务转型的变革之路,但运用人工智能之前必须从五个方面入手做好数据方面的准备,之后可利…...

    2024/4/14 13:53:39
  11. 【秒杀系统】秒杀系统实战(五): 如何优雅的完成订单异步处理

    前言 我回来啦,前段时间忙得不可开交。这段时间终于能喘口气了,继续把之前挖的坑填起来。写完上一篇秒杀系统(四):数据库与缓存双写一致性深入分析后,感觉文章深度一下子被我抬高了一些,现在构思新文章的时候,反而畏手畏脚,不敢随便写了。对于未来文章内容的想法,我写…...

    2024/4/14 14:11:18
  12. UA MATH566 统计理论 Fisher信息论的性质上

    UA MATH566 统计理论 Fisher信息论的性质上Fisher信息量的定义Fisher信息量的数学意义 C-R下界是由Fisher统计量定义的,在推导C-R下界的时候,我们只是把下界的逆定义成了Fisher信息量,但尚未探讨这个量的本质是什么?为什么要叫它信息量?它有哪些性质?以及怎么计算的问题。…...

    2024/4/22 5:14:46
  13. head与postman基于索引的基本操作

    1. 查询集群信息 在postman工具中,使用get请求加IP http://192.168.1.6:9200/ 注:这里的所有IP均为elasticsearch节点IP 2.查询集群健康状态 在postman工具中,使用get请求加IP http://192.168.1.6:9200/_cluster/health 3.删除索引库 在postman工具中,使用delete请求加IP h…...

    2024/4/19 23:29:29
  14. mybatis自动生成映射关系文件(idea-maven)

    1.pom文件中引入mybatis-generator-maven-plugin插件<plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.2</version><dependencies><dependency>…...

    2024/4/14 13:54:09
  15. 提高分析和可视化能力的3个Excel图表

    作者|RAM DEWANI 编译|VK 来源|Analytics Vidhya 概述Excel图表是展示你的分析技能的强大方式这里有三个Excel图表,每个分析师都应该熟悉介绍 我喜欢创造现成的视觉效果。大多数分析专业人士都能拿出条形图或折线图,但能让你的可视化技能更上一层楼的能力正是分析师们开始出类…...

    2024/5/1 20:36:32
  16. bsearch()二分法查找

    C 库函数 void *bsearch(const void *key, const void *base, size_t nitems, size_t size, int (*compar)(const void *, const void *)) 对 nitems 对象的数组执行二分查找,base 指向进行查找的数组,key 指向要查找的元素,size 指定数组中每个元素的大小。数组的内容应根据…...

    2024/5/8 20:43:10
  17. CentOS 允许用户sudo执行命令

    su sudoedit /etc/sudoers## Allows people in group wheel to run all commands %wheel ALL=(ALL) ALL #去掉该行前面的注释usermod -a -G wheel login-name #将用户加入wheel组...

    2024/4/14 13:53:39
  18. laravel方便调试打印sql日志查看

    在实际开发中,我们需要查看拼装的sql是否是自己需要的,为了查看结果,我们直接打印sql.用DB自带的getQueryLog方法直接打印:use Illuminate\Support\Facades\DB; DB::connection()->enableQueryLog(); // 开启QueryLog 2 \App\User::find(1); 3 dump(DB::getQueryLog());…...

    2024/4/4 19:54:35
  19. 面对后端传过来的JSON数据前端开发中如何解析

    首先解释一下我想要获取的数据,利用Ajax和后端进行异步请求 然后后端发送过来的数据通过alert()是这样的那么问题就是我该如何得到这组数据中的msg中的数据或者data中的name的数据 JSON.parse()方法,这个方法在我们的JS中是一个自带的方法, 调用的时候直接通过JS对象.属性名…...

    2024/4/4 19:54:32
  20. 每日一题集合

    每日一题集合二叉树中的最大路径和保证文件名唯一模式匹配动态规划之最长公共子序列编辑距离二进制求和单词拆分打家劫舍打家劫舍升级版缺失的第一个正数找到所有数组中消失的数字数组中重复的数据长度最小的子数组反转链表求1+2+…+n.不用加减乘除做加法构建乘积数组二叉搜索树…...

    2024/4/20 14:34:44

最新文章

  1. 霸榜!近期不容错过的3个AI开源项目,来了

    在人工智能领域的迅速发展下&#xff0c;各种AI开源项目如雨后春笋般涌现&#xff0c;今天就来为大家介绍近期三个热门的AI开源项目&#xff0c;它们不仅技术前沿&#xff0c;而且非常实用&#xff0c;对于技术爱好者和业界专家来说&#xff0c;绝对不容错过。 一键创作漫画和视…...

    2024/5/9 17:09:17
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/5/7 10:36:02
  3. 算法——匹配算法

    匹配算法有很多种&#xff0c;常见的包括暴力匹配算法、KMP算法、Boyer-Moore算法、Rabin-Karp算法、正则表达式匹配算法等。每种算法都有其适用的场景和特点&#xff0c;可以根据具体需求选择合适的算法来进行匹配操作。 1.匈牙利匹配 匈牙利匹配&#xff0c;也称为二分图最…...

    2024/5/8 19:41:38
  4. 启动性能优化

    一、应用启动慢的原因 1.在主线程执行了太多耗时的操作&#xff0c;比如加载数据&#xff0c;或者初始化三方库等等&#xff0c;导致在Application的oncreate或者Activity的oncreate方法中耗时太久 2.布局嵌套太深&#xff0c;或者一些不会立即使用的布局也在一开始一起加载到…...

    2024/5/8 4:11:57
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/8 6:01:22
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/9 15:10:32
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/9 4:20:59
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/7 11:36:39
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/6 1:40:42
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/8 20:48:49
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/7 9:26:26
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/8 19:33:07
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/5 8:13:33
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/8 20:38:49
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/9 7:32:17
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/4 23:54:56
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57