散的js知识点和计网知识点 |青训营

208 阅读5分钟

字符串类型

单引号、双引号、反引号引起

注意事项:

  1. 无论单引号还是双引号,必须成对使用

  2. 单引号、双引号可以相互嵌套,但不能自己嵌套自己。(口诀:外双内单,外单内双)

  3. 非要输出单引或双引,记得转义

  4. +号在有字符串时,就变成拼接效果。仅数字时,就是加。

    'pink'-2结果为NaN,'pink'+2结果是'pink2'
  5. 模板字符串

    用处:方便拼接字符串和变量

    语法:反引号包裹,里面的变量用${ }包裹

    未定义类型

    undefined

    只声明了但是未被赋值的变量,默认为undefined

    当某个变量需要用户给值时,代码里为了健壮性好,就可以用undefined判断用户是否已给值过来

    null 空类型与undefined

    undefined表示没有赋值

    null表示赋值了,但是内容为空

    把null作为尚未创建的对象

    console.log(undefined + 1)//结果为NaN

    console.log(null + 1)//结果为1

    如果一个变量里面确定存放的是对象,但还没准备好这个对象,可以先用null替代着,占着坑

    检测数据类型

    typeof两种用法:

    1. 当作运算符

      typeof num

    2. 当作函数

      typeof(num)

    10、网络安全

http报文、tcp报文都是明文,在传的过程中还可以被篡改。

网络安全:三要素:

  • 机密性:攻击者无法获知通信内容
  • 完整性:攻击者对内容进行篡改时能被发现
  • 身份验证:攻击者无法伪装成通信双方的任何一方与另一方通信

网络安全:对称加密和非对称加密

  • 对称加密:加密、解密用同样的秘钥
  • 非对称加密:加密、解密使用不同的秘钥(公钥和私钥),而且公钥加密只能用私钥解密,私钥加密只能用公钥解密

网络安全:密码散列函数(哈希函数)

  • 输入:任意长度的内容
  • 输出:固定长度的哈希值
  • 性质:找到两个不同的输入使之经过密码散列函数后有相同的哈希值,在计算上是不可能的

网络安全:机密性

  • 加密需要加密算法和秘钥等信息(统称为秘密信息)
  • 网络是明文的,不安全
  • 已知网络是明文的。如果说,是通信双方在明文交流时商量出秘密信息,那么攻击者也可以知道。所以想要通过明文通信交换秘密信息,通信双方需要先有秘密信息

重点:发送方和接收方必须事先有攻击者不知道的秘密信息,才有可能实现完整性

实现方法:发送方和接收方事先知道密钥s,发送方H(m+s)得到h,将原明文m+h当做信息传送。接收方接收到m+h,拆分m+h,重新计算H(m+s)得到h1。比对h和h1即可。注意:因为从哈希值不能逆向推出原文,所以这样是可以实现防止明文报文被篡改的。

11、http协议

当我们在浏览器的地址栏输入一个字符串时,发生了什么?

--->browser进程处理输入信息:若为‘今日头条’,那么浏览器会认为用户是要使用浏览器默认的搜索功能;若为'www.baidu.com',则浏览器认为现在要发送请求

--->浏览器内核向我们部署的服务器发送请求

--->服务器给浏览器发送响应

--->浏览器内核读取响应

--->浏览器内核根据响应的数据进行渲染

--->页面加载完成

http协议的特点

  • 应用层协议
  • 基于tcp协议
  • 请求 响应
  • 简单 可扩展
  • 无状态

状态码

1xx:请求已接收,在继续处理

2xx:成功,表示请求已被成功接收、理解、接受

3xx:重定向,要完成请求必须进行更进一步的操作

4xx:客户端错误

5xx:服务器错误

一些常用请求头

请求头里的Accept,表示我要请求的资源类型,即浏览器支持的某MIME类型(对标服务端返回的content-type)

请求头里的content-type,是我发送的数据的MIME类型,比如json

一些常用响应头

content-type:服务器返回的实体内容的类型

set-cookie:设置和页面关联的cookie,服务器通过这个响应头将cookie传给客户端

last-modified:请求资源的最后修改时间

缓存

分为强缓存和协商缓存

强缓存:缓存里还有,就用缓存里的??主要字段:expires(到期时间,时间戳),catch-control

协商缓存:就算缓存里还有,也要和服务器端对接好。常用字段:Etag,last-modified/if-modified-since

一些用来加强cookie安全性的头部字段:

secure:仅在https安全连接时,才可以发送cookie

HttpOnly:js脚本无法获得cookie(即防止js用web apis去获取cookie)

SameSite = none|strict|lax

https:

hypertext transfer secure

经过了加密,公钥私钥混用,有证书等机制

https默认端口号:443

http: 80

12、网络优化手段:

  • 升级http版本至http2
  • cdn动态加速
  • dns预解析
  • 网络预连接
  • 域名
  • 压缩
  • https性能优化

倒计时小案例

`

succ body{ font-size: 50px; } span{ color: red; font-size: 80px; } button{ font-size: 50px; border-radius: 30px; background-color: lightblue; display: inline-block; width: 250px; height: 200px; }

恭喜您,支付成功!

10秒后自动返回首页

立即返回

`