字符串类型
单引号、双引号、反引号引起
注意事项:
-
无论单引号还是双引号,必须成对使用
-
单引号、双引号可以相互嵌套,但不能自己嵌套自己。(口诀:外双内单,外单内双)
-
非要输出单引或双引,记得转义
-
+号在有字符串时,就变成拼接效果。仅数字时,就是加。
'pink'-2结果为NaN,'pink'+2结果是'pink2'
-
模板字符串
用处:方便拼接字符串和变量
语法:反引号包裹,里面的变量用${ }包裹
未定义类型
undefined
只声明了但是未被赋值的变量,默认为undefined
当某个变量需要用户给值时,代码里为了健壮性好,就可以用undefined判断用户是否已给值过来
null 空类型与undefined
undefined表示没有赋值
null表示赋值了,但是内容为空
把null作为尚未创建的对象
console.log(undefined + 1)//结果为NaN
console.log(null + 1)//结果为1
如果一个变量里面确定存放的是对象,但还没准备好这个对象,可以先用null替代着,占着坑
检测数据类型
typeof两种用法:
-
当作运算符
typeof num
-
当作函数
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秒后自动返回首页立即返回