Skip to content

2024.8.6

srcset

srcset 属性用来指定多张图像,适应不同像素密度的屏幕。它的值是一个逗号分隔的字符串,每个部分都是一张图像的 URL,后面接一个空格,然后

是像素密度的描述符。

(srcset)[https://www.ruanyifeng.com/blog/2019/06/responsive-images.html]

html
<img
  srcset="foo-320w.jpg, foo-480w.jpg 1.5x, foo-640w.jpg 2x"
  src="foo-640w.jpg"
/>
<img
  srcset="foo-320w.jpg, foo-480w.jpg 1.5x, foo-640w.jpg 2x"
  src="foo-640w.jpg"
/>

map 和 set 的区别

map 是一个键值对的集合,而 set 是一个值的集合。

https 是怎么保证数据安全的

通过证书,大概流程

1.客户端请求证书 2.服务端返回证书 3.客户端验证证书,并生成随机数 4.客户端使用证书加密随机数,发送给服务端 5.服务端使用证书解密随机数,验证通过后,返回数据

怎么保证证书不被篡改(数字签名)

什么是数字签名?签名的过程是什么

签名的过程其实也很简单

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

所以呢,总结一下:CA机构颁发的证书包含(证书内容的明文+签名)

浏览器收到服务下发的证书之后,拿到证书明文和签名,怎么验证是否篡改了呢?

大家知道,私钥签名,公钥验签。证书里面的签名是CA机构用私钥签名的,所以我只要用CA机构的公钥验证一下签名不就好了,怎么验证呢?

  1. 拿到证书里面明文的hash算法并对明文内容进行hash运算,得到A
  2. 用CA的公钥解密签名得到B
  3. 比较A 和 B,如果相等,说明没有被篡改,否则浏览器提示证书不可信

有没有发现一个问题?CA的公钥从哪里获取呢

这个简单,CA权威机构本来也没多少个,所以,浏览器内部都内置了各大CA机构的公钥信息

简单总结一下

1.如果证书被篡改,浏览器就提示不可信,终止通信,如果验证通过,说明公钥没问题,一定没被篡改

2.公钥没被篡改,那浏览器生成的对称加密用的密钥用公钥加密发送给服务端,也只有服务端的私钥能解开,所以保证了 对称密钥不可能被截获,对称密钥没被截获,那双方的通信就一定是安全的

3.黑客依然可以截获数据包,但是全都是经过对称加密的密钥加密的,他也可以篡改,只是没有任何意义了,黑客也不会做吃力不讨好的事了

webpack 常用插件有哪些

  • cleanWebapckPlugin:清理 dist 目录
  • htmlWebpackPlugin:生成 html 文件,并自动引入打包后的 js 文件
  • copyWebpackPlugin:复制文件
  • miniCssExtractPlugin:将 css 文件单独打包

平时遇到问题,怎么解决的,或者学习途径

掘金,知乎,github,百度,stackoverflow

vue 和 react 的区别

有没有遇过跨端适配的问题

Taro2 到 Taro3 的迁移

Api 变化,组件变化,生命周期变化

Taro 有遇到过什么问题

(Taro 常问)[https://blog.csdn.net/qq_29101285/article/details/138899851]

一百万条数据怎么处理

断点续传

监控埋点

Released under the MIT License.